日期:2014-05-16  浏览次数:21137 次

KSQL编写日期比较
执行ksql:SELECT HR_HTGL.fXM,HR_HTGL.fXB,HR_HTGL.fHTLX,HR_HTGL.fHTKSRQ,HR_HTGL.fHTJSRQ FROM HR_HTGL HR_HTGL WHERE HR_HTGL.fQDZTBM='submit' AND DATEDIFF(Day, HR_HTGL.fHTJSRQ, 2013-7-30)<45时出错!


找不到Day对应的符号!


我需求是查询HR_HTGL.fHTJSRQ比较当前日期是45天之内的数据,但是这个KSQL中日期比较总是不对,试了好多种了,数据库是查询没问题,就是KSQL不懂。

还有一个小问题,我是JAVA中如下获取当前日期:
Calendar cal=Calendar.getInstance();
String today = cal.get(Calendar.YEAR)+"-"+cal.get(Calendar.MONTH)+"-"+cal.get(Calendar.DATE);
可是今天是2013-8-30,为什么获取到的today是2013-7-30?
------解决方案--------------------
1 KSQL是什么东西

2 Java中就规定0-11对应1-12月,没有为什么。
------解决方案--------------------
1.KSQL报什么错?

2.语法相关的不要问为什么。Java是一门编程语言,编程语言就有语法,有规则就有编译程序对程序进行词法分析、语法分析、语义分析与中间代码产生、优化、生成目标代码。这个Calendar的get方法就是这样写的,你问为什么有用吗?有时间去问写这些类的大牛去吧,没时间就没有必要弄懂为什么是这样。有些东西是不需要弄懂为什么的,语法就是一类。当然程序逻辑、业务流程必须弄懂。