甲骨文将char转换为日期
问题描述:
我在Oracle表以下日期:甲骨文将char转换为日期
“2017年8月1日00:00:00,000000000”
我想将其转换为日期,我现在用的以下,但我不知道如何处理zeroes?!
.
.
.
T.EXECUTION_LOCAL_DATE_TIME
between to_date('2017-08-01 00:00:00,000000000', 'yyyy-mm-dd hh:mi:ss')
and to_date('2017-08-10 00:00:00,000000000', 'yyyy-mm-dd hh:mi:ss');
任何人都可以帮助我吗?
答
Oracle日期不支持毫秒。假设你EXECUTION_LOCAL_DATE_TIME
列是一个日期,然后下面的比较是最好的,你可以这样做:
T.EXECUTION_LOCAL_DATE_TIME
BETWEEN TO_DATE('2017-08-01 00:00:00', 'yyyy-mm-dd hh:mi:ss') AND
TO_DATE('2017-08-10 00:00:00', 'yyyy-mm-dd hh:mi:ss');
如果你想为一个文本字符串毫秒转换为一个时间戳,您可以使用这样的事情:
TO_TIMESTAMP ('2017-08-01 00:00:00,000000000', 'yyyy-mm-dd hh:mi:ss,ff')
答
一般在没有一个日期而言这个值,而是一个时间戳,所以我会用下面的转换:
select to_timestamp('2017-08-01 00:00:00,000000000', 'yyyy-mm-dd hh24:mi:ss,ff6')
from dual;
从技术上讲,你可以有后无零逗号,所以如果你想得到正确的但不被截断的值使用时间戳日期类型。
','vs'.''分隔符在您的to_timestamp – JohnHC
谢谢,它现在可以工作。 –