日期格式
在 Oracle 中,DATE
資料型別沒有格式; 當 Oracle 將 DATE
傳送到客戶端程式(SQL / Plus,SQL / Developer,Toad,Java,Python 等)時,它將傳送代表日期的 7 或 8 個位元組。
未儲存在表中的 DATE
(即由 SYSDATE
生成並在使用 DUMP()
命令時具有“型別 13”)具有 8 位元組並具有結構(右側的數字是 2012-11-26 16:41:09
的內部表示):
BYTE VALUE EXAMPLE
---- ------------------------------- --------------------------------------
1 Year modulo 256 220
2 Year multiples of 256 7 (7 * 256 + 220 = 2012)
3 Month 11
4 Day 26
5 Hours 16
6 Minutes 41
7 Seconds 9
8 Unused 0
儲存在表中的 DATE
(使用 DUMP()
命令時為 type 12
)具有 7 位元組並具有結構(右側的數字是 2012-11-26 16:41:09
的內部表示):
BYTE VALUE EXAMPLE
---- ------------------------------- --------------------------------------
1 ( Year multiples of 100 ) + 100 120
2 ( Year modulo 100 ) + 100 112 ((120-100)*100 + (112-100) = 2012)
3 Month 11
4 Day 26
5 Hours + 1 17
6 Minutes + 1 42
7 Seconds + 1 10
如果你希望日期具有特定格式,則需要將其轉換為具有格式(即字串)的內容。SQL 客戶端可能隱式執行此操作,或者你可以使用 TO_CHAR( date, format_model, nls_params )
將值顯式轉換為字串 。