我得到了timeEnd VARCHAR2(4000 BYTE)
timeEnd value
2013-11-15 00:52:46.000 13NC1356
2013-11-08 01:18:15.000 13NC1241
2013-11-14 14:41:29.000 13NC1241
2013-11-05 06:40:48.000 13CP1183
2013-10-08 23:30:33.000 13CP1186
2013-11-09 01:08:39.000 13CP1186
我需要将这些dates
与sysdate
进行比较,如果唯一max(timeEnd)
的{{1}}为24小时,我需要显示数据(目前为止)。
所以为了保持现在的简单,我需要以某种方式转换格式为value
的{{1}} timeEnd
值。
我尝试了很多东西,现在都失败了......
我会继续努力,只是觉得有人知道怎么做。
答案 0 :(得分:1)
您的意思是转换为DATE数据类型吗? SYSDATE是一个返回当前数据库时间的函数。您的timeEnd字符串看起来像TIMESTAMP数据类型。如果你想 将其转换为TIMESTAMP(示例):
select to_timestamp(timeEnd,'YYYY-MM-DD HH24:MI:SS.FF')
如果您想转换为DATE,则需要删除小数秒:
select to_date(substr(timeEnd,1,19),'YYYY-MM-DD HH24:MI:SS')
有关所有详细信息,请参阅Oracle Formatting options。
您也可能想要质疑为什么要将日期/时间存储为字符串。使用正确的本机数据类型可以避免一系列问题。从长远来看,你会更快乐。