記事のターゲット
- SQLで日付の比較が必要な方
- Oracleを使用している方
単純にシステム日付を取得方法
SELECT sysdate FROM dual;
システム日付を時分秒まで取得したい場合は上記のように記述することでOKです。
最後の部分のFROM dualはオラクルが自動で作成してくれているダミー扱いのテーブル名です。システム的なものを取得する際や関数の動作確認を行いたい場合に指定するものでFROMの後に便宜的につけるものです。
日付のみ(年月日)を取得する方法
SELECT trunc(sysdate) FROM dual;
日付のみを取得したい場合は切り捨てを行う関数であるtruncを使用します。上記のように記述することによって本日日付の0時00分00秒を取得することができます。
操作年の元日(年以下切り捨て)を取得する方法
SELECT trunc(sysdate, 'yyyy') FROM dual;
上記のようにsysdateの後に切り捨てたい場所を指定することで指定したもの以降を切り捨てることができます。2022年にSQLを実行した場合2022/01/01が取得できます。
まとめ
日付の操作は現場でなかなかの頻度で行うのでよく使用するものをまとめてみました。お役に立てれば幸いです。