Oracle 将字符转换为日期
Oracle Convert Char to Date
我在 oracle table 中有以下日期:
'2017-08-01 00:00:00,000000000'
我想将其转换为我正在使用的日期,但我不知道如何处理零?!
.
.
.
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;
从技术上讲,逗号后可以有非零,因此如果您想获得正确但不被截断的值,请使用时间戳日期类型。
我在 oracle table 中有以下日期:
'2017-08-01 00:00:00,000000000'
我想将其转换为我正在使用的日期,但我不知道如何处理零?!
.
.
.
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;
从技术上讲,逗号后可以有非零,因此如果您想获得正确但不被截断的值,请使用时间戳日期类型。