この記事では日付や時刻のフォーマットを変更する方法について解説します。
日付型の表示形式
日付型のデータは設定されているフォーマットによって表示形式が異なります。
この表示形式はセッション単位でも変更することが可能です。
表示形式を変更することで、検索結果などの視認性を上げることができます。
フォーマット例
日付、時刻の主なフォーマット形式は下記のとおりです。
必要に応じてこれらを組み合わせて任意の形式で表示できます。
・年
YYYY:4桁の西暦で表示
YY:下2桁の西暦年で表示
RR:下2桁の西暦年で表示、2049年までは50~99年は1950~1999年に変換される
・月
MM:月を2桁の数字で表示
MON:月の名前の省略形(日本語は「1月」、英語は「Jan」など)
・日
DD:日にちを2桁の数字で表示
・曜日
DAY:曜日を表示(「月曜日」など)
DY:曜日を表示(「月」など)
・時刻
HH:12時間表記で時間を表示
HH24:24時間表記で時間を表示
MI:分を表示
SS:秒を表示
FF:秒の少数部
・区切り文字
X:秒と秒の小数部分の区切り、日本語だと「.」で表示
-/,.;::区切り文字として使用可能、スペースも使用可能
フォーマット形式の変更方法
セッション単位での日付型のフォーマット形式は下記のSQLで変更することができます。
alter session set nls_date_format='<フォーマット形式>';
実際に変更してみます。
まずは現在のフォーマットを確認します。
SQL> select sysdate from dual;
SYSDATE
--------
23-12-12
これをYYYYMMDD形式に変更します。
SQL> alter session set nls_date_format='YYYYMMDD';
セッションが変更されました。
SQL> select sysdate from dual;
SYSDATE
--------
20231212
表示形式が変更されていることが確認できました。