在Oracle 11g中,如何將像這樣的「1234」這樣的字符串轉換爲像這樣的「12:34」這樣的時間格式。將字符串轉換爲時間格式
我試過to_char('1234', 'HH:MI')
但我得到一個無效的數字格式模型。
在Oracle 11g中,如何將像這樣的「1234」這樣的字符串轉換爲像這樣的「12:34」這樣的時間格式。將字符串轉換爲時間格式
我試過to_char('1234', 'HH:MI')
但我得到一個無效的數字格式模型。
select to_date('1234','hh24mi') from dual;
它假定今天的日期的12時34
的時間成分,如果你想改變的字符串類型,你可以使用下面的代碼日期類型:
TO_DATE('2006-06-15', 'YYYY-MM-DD')
TO_DATE('<your string>','hh24mi')
但如果要保存字符串類型並只需將字符添加到字符串中,則可以使用代碼:
SUBSTR(string, start_position, [ length ])
In adv可以使用regexp_replace命令。此命令的更多詳細信息在 中this link
Oracle沒有時間數據類型。
它具有DATE
和TIMESTAMP
數據類型(兩者都具有的時間成分,但它們也具有年,月和日),它有一個INTERVAL DAY TO SECOND
數據類型(即,兩個TIMESTAMP
S之間的差)。
如果你想與今天的日期時間:
TO_DATE('1234', 'HH24MI')
將輸出與組件日期:
2016-09-06 12:34:00
如果你想那麼間隔:
NUMTODSINTERVAL(SUBSTR('1234', 1, 2), 'HOUR')
+ NUMTODSINTERVAL(SUBSTR('1234', 3, 2), 'MINUTE')
威爾輸出組件間隔:
+00 12:34:00.000000
我發現它:
SELECT TO_CHAR (TO_DATE ('1234', 'HHMi'), 'HH:Mi') FROM DUAL;
12:34
感謝您的幫助。
請注意,'HH'爲12小時制。 –
不要在字符串上調用'to_char' - 它已經是一個字符串了! –