当我执行此比较时,结果不正确。
select case when cast('06-JAN-17 12.48.14.243000000 PM' as timestamp) >
cast('06-JAN-17 08.08.57.000000000 PM' as timestamp) then 1 else 0 end from dual
结果是' 0'而不是' 1'。有人可以帮我解决这个问题吗?
答案 0 :(得分:0)
如果您想正确地将字符串转换为TIMESTAMP,则必须使用TO_TIMESTAMP。
when TO_TIMESTAMP('06-JAN-17 12.48.14.243000000 PM', 'DD-MON-RR HH.MI.SS.FF PM') >
TO_TIMESTAMP('06-JAN-17 08.08.57.000000000 PM', 'DD-MON-RR HH.MI.SS.FF PM')
then 1 else 0 end
答案 1 :(得分:-1)
首先需要将文本文字转换为将其强制转换为时间戳之前的日期。我给你举个例子:
aaa, bbb, ccc, ddd, eee, fff, ggg
这可以恢复1。 只需更改您的文字和通过日期格式,您的结果也会有效。