2015-09-06 81 views
-1

我有這個時間戳字段,看起來像這樣: 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)' –

回答

0

您可以使用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

1

你可以只截斷TIMESTAMP,TRUNC函數的結果是DATE:

SELECT TRUNC(LOCALTIMESTAMP) FROM DUAL;