區分Oracle SQL 中的'YYYY' 和'RRRR' 格式
在Oracle SQL 中,'YYYY' 和'RRRRY 格式都是表示日期的年份部分。但是,兩者之間存在細微差別:
「YYYY」格式將年份表示為四位整數。它始終將提供的年份值視為完整的四位數年份,無論其長度為何。
另一方面,「RRRR」格式以不同方式處理兩位數年份值。當提供兩位數年份(例如 87)時,「RRRR」檢查當前年份的前兩位數。如果提供的兩位數年份介於 00 和 49 之間,則被視為當前世紀的一部分。相反,如果兩位數年份介於 50 和 99 之間,“RRRR”會將其解釋為屬於上一個世紀。
為了說明這種差異,請考慮以下範例:
select trunc(to_date('27-Jul-1987'),'YYYY') FROM dual;
在本例中,結果將為“1987”,因為“YYYY”期望年份表示為完整的四位數字整數。
現在,如果我們使用'RRRR' 格式:
select trunc(to_date('27-Jul-1987'),'RRRR') FROM dual;
結果也將是'1987',因為兩位數年份'87' 屬於當前年份世紀(即當前年份的前兩位數)。
但是,如果我們將年份值更改為兩位數年份在上個世紀,結果有所不同:
select trunc(to_date('27-Jul-47'),'YYYY') FROM dual;
此查詢將返回“0047”,因為“YYYY”始終將提供的年份解釋為四位整數。
select trunc(to_date('27-Jul-47'),'RRRR') FROM dual;
相反,「RRRR」會將兩位數年份「47」解釋為屬於上一個世紀並回傳「1947」。
以上是Oracle SQL 中「YYYY」和「RRRR」年份格式有什麼不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!