2012-04-12 62 views
2

您將使用什麼格式將此CHAR值轉換爲日期?oracle - to_Date格式

Apr 9 1996 2:11:00:000PM 


ie. select to_date('Apr 9 1996 2:11:00:000PM','???') from dual; 

有沒有人找到了一個很好的參考,因爲我看到的那些期望小時有前面的0至下手。

+0

請參閱本 http://stackoverflow.com/q/1758219/1268469 – Deb 2012-04-12 07:31:33

回答

4

以下是帶日期字符串的示例。

select to_date(
to_char(to_timestamp('Apr 9 1996 2:11:00:000PM','MON DD YYYY hh:mi:ss:FF3PM'),'YYYY-MM-DD HH:MI:SS AM'), 
'YYYY-MM-DD HH:MI:SS AM') 
from dual; 

希望它有效。

+0

+1的TO_TIMESTAMP()代替TO_DATE的()! – BigMike 2012-04-12 09:00:21

+0

@BigMike謝謝! – Deb 2012-04-12 14:51:45

2

第一: TO_DATE不支持小數秒,讓你不得不玩的TO_TIMESTAMP

二:你必須使用Oracle的格式,你可以找到有效的數值表here

在第一一目瞭然像'MON DD YYYY HH:MI:SS:FF3 AM'的格式應該工作

編輯:今天咖啡因太低了,忘了AM ^^對不起

1

這可能會實現(unteste d):

'Mon dd YYYY HH:MI:SS AM'