铸造时间戳日期甲骨文

问题描述:

我有这个时间戳字段,看起来像这样: 2015年8月24日16:24:28.763915 ,我想只有日期,并插入到日期字段铸造时间戳日期甲骨文

我尝试这样:

select 
TO_DATE(CAST (CON1.AF_UPDATE_DT AS VARCHAR(10)), DD/MM/YYYY) 
FROM AF_EMR_MEM_CONT CON1 

,但我得到这个错误

00904. 00000 - "%s: invalid identifier"

如果我试图做到这一点的SQL:

select AF_UPDATE_DT 
     TO_DATE(CAST (CON1.AF_UPDATE_DT AS VARCHAR(10)), YYYY/MM/DD) 
FROM AF_EMR_MEM_CONT CON1 

我得到的错误:

00923. 00000 - "FROM keyword not found where expected"

+0

'date'列在Oracle中仍然有时间部分。如果您想将时间设置为'00:00:00',请使用'trunc(AF_UPDATE_DT)' –

您可以使用SUBSTR提取字符串中的日期部分,然后TO_DATE,以修改它的日期对象:

select TO_DATE(
    SUBSTR('2015-08-24 16:24:28.763915', 1, 10), 'YYYY-MM-DD') -- 2015-08-24 
from DUAL 

看到这个demo

+0

谢谢 我试过了您的解决方案,它效果很好! – YossiH

你可以只截断TIMESTAMP,TRUNC函数的结果是DATE:

SELECT TRUNC(LOCALTIMESTAMP) FROM DUAL;