首頁 > 資料庫 > mysql教程 > Oracle SQL 中「YYYY」和「RRRR」年份格式有什麼不同?

Oracle SQL 中「YYYY」和「RRRR」年份格式有什麼不同?

Mary-Kate Olsen
發布: 2024-12-27 21:13:10
原創
645 人瀏覽過

What's the Difference Between 'YYYY' and 'RRRR' Year Formats in Oracle SQL?

區分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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板