Oracleのselect文を出力した場合、日付のみとなります。時刻の出力が必要なケースもあるので、日付と時刻を同時に出力する方法を解説します。
Oracleのselect文でDATE型に時刻を表示する方法
バッチ処理でselect文を自動出力する場合、SQL定義の始めにDATE型を時刻入りに変換する以下の定義を入れることで、そのSQL文で登場するDATE型のすべてで「日付+時刻」が表示されます。
(参考)select文でなくコマンドでシステム日付を出力するSQLコマンド
当記事の説明では、select文で出力された日付で説明していますが、システム日付を表示するSQLコマンドでも同じ結果が得られます。参考に、システム日付を表示するSQLコマンドは下記の通りです。
SQL> select sysdate from dual;
システム日付を表示するSQLコマンドの実行結果
システム日付を表示するSQLコマンドを単に入力すると下記の表示になるため、この後に説明する「select文で日付と時刻を同時に出力するコマンド」のSQLコマンドを入力することで、下記日付にも時刻を表示することができます。
SYSDATE
——–
19-05-21
スポンサーリンク
select文で日付と時刻を同時に出力するコマンド
select文で日付を出力すると「年月日」のみ出力されますが、select文を入力する前に下記のSQLコマンドを入力すると、年月日に加えて時刻も出力されるようになります。
SQL> ALTER SESSION SET NLS_DATE_FORMAT = ‘yyyy/mm/dd hh24:mi:ss’;
コマンドの実行結果
下記の通り、ミリ秒まで出力可能です。
2004/10/06 14:00:50
コマンドの説明
前述のコマンドを解説します。
ALTER SESSION
データベースへの接続に影響するすべての条件またはパラメータを、設定または変更するためのコマンドです。
SET NLS_DATE_FORMAT
日付の書式を指定するコマンドです。
今回の例では「’yyyy/mm/dd hh24:mi:ss’;」(年月日+時刻(秒含む)」という日付の書式で出力しなさいという命令になります。