2015-01-13 53 views
0

我有一個像'2013年7月18日11時06分23秒'' '字符串我想顯示它像'07/18/2013 11:06:23 AM' 我嘗試要使用To_date函數(oracle函數)來轉換它,但是我得到了錯誤。 請幫幫我!如何將字符串轉換爲日期時間

+1

你試過什麼,你得到了什麼錯誤 – Exhausted

+0

我寫了TO_DATE(myString,'MM/DD/YYYY HH:MI:SS AM/PM')。我得到了ORA-01810:格式代碼出現兩次 –

+1

格式將是'TO_DATE(myString,'MM/DD/YYYY HH:MI:SS AM')'不'TO_DATE(myString,'MM/DD/YYYY HH:MI :SS AM/PM')' – Exhausted

回答

0

你想使用下面的轉換功能

to_date(mystring, 'Mon DD, YYYY HH:MI:SS AM') 

在您的字符串是像上面的格式,你必須使用基於您的輸入字符串格式字符串。

如果你想顯示在上面的日期格式,你必須在這裏使用TO_CHAR功能類似下面

select to_char(mydate, 'DD/MM/YYYY HH:MI:SS AM') from yourtable 

檢查以瞭解更多信息http://docs.oracle.com/cd/B19306_01/server.102/b14200/functions180.htm

+0

我仍然有錯誤ORA-01843:不是有效月份 –

+0

您必須指定NLS_DATE_LANGUAGE –

4

試試這個,它工作得很好:

select to_char(to_date('Jul 18, 2013 11:06:23','MON DD, YYYY HH:MI:SS', 
    'NLS_DATE_LANGUAGE = American'),'MM/DD/YYYY HH:MI:SS AM') from dual 

您可以適應您的問題。

+3

關於NLS依賴關係的好處。 –

+1

可能有助於解釋這兩個函數及其格式模型正在做什麼,以及爲什麼NLS覆蓋很有用。 –

相關問題