DB2 数值-日期
一个数值型的字段如何转换成一个日期型的呢,望高手指教。
请举例说明。
[解决办法]
你这个数值代表的是什么意思?
mysql是指1900还是1097开始的毫秒数
db2似乎不是这么处理的
[解决办法]
你的意思是 某个日期-某个固定的值 得到一个 日期?
这个可以这么做
某个日期- n days 结果是日期
某个日期- n months 结果也是日期
某个日期 - n years 结果还是日期
反正日期加减整数个 日 月 年 结果都是日期
[解决办法]
看这个帖子
http://www.ibm.com/developerworks/cn/data/library/techarticles/0211yip/0211yip3.html
[解决办法]
WHERE CLNDR_DT_ID=(CURRENT_DATE - DAY(CURRENT_DATE) DAY)
首先,这种情况建议你把日期转换成INTEGER,SQL执行效率要高一些。
其次,看你的CLNDR_DT_ID是什么格式的,比如YYYYMMDD,根据你的意图应该是想取某月1号,那么可以这样:
YEAR(CURRENT_DATE)*10000+MONTH(CURRENT_DATE)*100+DAY(CURRENT_DATE)
其他格式类似。
[解决办法]
当然你也可以自己写一个函数,这样不但可以定制转换成什么格式,以后用到地方多的话可以直接调用,也是个很好的选择。
[解决办法]
db2 只能把'YYYY-MM-DD'转为日期。数值型的需要转为char在变为此格式转换。关键还看你的数据值型存储的是不是类似yyyymmdd的值
[解决办法]
将字符串转换成时间:
TIMESTAMP (’2002-10-20-12.00.00.000000′)
TIMESTAMP (’2002-10-20 12:00:00′)
DATE (’2002-10-20′)
DATE (’10/20/2002′)
TIME (’12:00:00′)
TIME (’12.00.00′)