更新履歴
- 【Python】ファイル存在チェックの実装方法(pathlib、os.path)
- Pythonで文字列を除去する方法を完全解説!strip・replace・正規表現
- スタック領域とヒープ領域の違いとは?メモリ管理から使い分けまで徹底解説
- Python Docstringの書き方完全ガイド|主要スタイルの比較と保守性を高める記述
- シングルトン(Singleton)デザインパターンを徹底解説!Java実装例・メリット・デメリット
- サインインとログインの違いとは?意味・使い分けをわかりやすく解説
- 静的サイトと動的サイトの違いを徹底比較!メリット・デメリットと選び方を解説
- モノリスとマイクロサービスの違いを徹底比較|メリット・デメリットと失敗しない選定基準
- RESTとSOAPの違いを徹底比較!特徴・メリット・使い分けを解説
- 同期・非同期とブロッキング・ノンブロッキングの違い|概念と使い分けを徹底比較
- マルチプロセスとマルチスレッドの違いを解説!メリット・デメリット・使い分け
- hostsファイルとDNSの違いとは?優先順位・仕組み・使い分けを解説
- Excelで複数行を1行にまとめる方法まとめ【関数・PQ対応】
- レスポンスタイムとターンアラウンドタイムの違い【基本情報対策】
- ステートレスとステートフルの違いを徹底解説!エンジニアが知るべき仕組みと具体例
- shとbashの違いを徹底解説!シェルスクリプトの使い分け
- 【徹底比較】イーサネットとWi-Fi違いと選び方を解説
- 【徹底解説】UTF-8 BOMあり・なしの違いと選び方
- npmとYarn、開発者が知るべき違いとは?
- 【Linux】nanoコマンドの使い方 | 基本操作からショートカット、便利設定
お役立ちツール
Oracleユーザにお勧めの本
Oracleデータベースを扱う際、日付型のカラムから「日付のみ」や「月単位」、「年単位」などでデータを抽出したいケースは多く存在します。特に業務システムでは、売上やアクセスログなどを日単位・月単位で集計することが多く、SQLで効率よく扱う必要があります。
そのようなときに活躍するのが TRUNC 関数です。本記事では、oracle trunc 日付のキーワードに対し、基本的な構文から実務での活用例を詳しく解説します。
【Oracle】TRUNCは日付を切り捨てる関数
TRUNC は「切り捨て」を意味し、数値だけでなく日付に対しても使用できます。日付に使うと、指定した粒度に応じて時刻部分を切り捨てます。
例えば、2025-08-16 14:35:45 という日付に対して TRUNC(date, 'DD') を適用すると、時刻は消えて 2025-08-16 00:00:00 になります。これにより「同じ日付」としてグルーピングしたり比較できるようになります。
TRUNC関数で日付を扱う基本構文
OracleのTRUNC関数は下記構文で書きます。
TRUNC(日付, 書式モデル)- 日付: 日付型の値(SYSDATE, TIMESTAMPなど)
- 書式モデル: MM(月の初日),YYYY(年の初日)など
TRUNC関数で当日の時分秒を切り捨てて取得する
SELECT TRUNC(SYSDATE) AS todayFROM dual;出力例: 2025-08-16 00:00:00
TRUNC関数で月の初日を取得する
SELECT TRUNC(SYSDATE, 'MM') AS month_startFROM dual;出力例: 2025-08-01 00:00:00
TRUNC関数で年の初日を取得する
SELECT TRUNC(SYSDATE, 'YYYY') AS year_startFROM dual;出力例: 2025-01-01 00:00:00
TRUNC関数で週の開始日を取得する(月曜始まり)
SELECT TRUNC(SYSDATE, 'IW') AS week_startFROM dual;出力例: 2025-08-11 00:00:00
TRUNC関数でよく使うformat指定一覧
| format | 切り捨て単位 | 例 (SYSDATE=2025-08-16 14:35:45) | SQL例 |
|---|---|---|---|
DD | 日単位 | 2025-08-16 00:00:00 | TRUNC(SYSDATE, 'DD') |
MM | 月単位 | 2025-08-01 00:00:00 | TRUNC(SYSDATE, 'MM') |
YYYY | 年単位 | 2025-01-01 00:00:00 | TRUNC(SYSDATE, 'YYYY') |
IW | ISO週 | 2025-08-11 00:00:00 | TRUNC(SYSDATE, 'IW') |
Q | 四半期 | 2025-07-01 00:00:00 | TRUNC(SYSDATE, 'Q') |
HH | 時単位 | 2025-08-16 14:00:00 | TRUNC(SYSDATE, 'HH') |
MI | 分単位 | 2025-08-16 14:35:00 | TRUNC(SYSDATE, 'MI') |
【Oracle】TRUNC関数まとめ
TRUNC 関数は、日付の「切り捨て」によって柔軟な集計や検索を可能にします。特に業務システムやレポート作成では、日次・月次・四半期・年次といった単位での分析に欠かせない存在です。
OracleのTRUNC関数で日付を扱う知識を深めることで、より実践的で信頼性の高いSQLを書くことができるようになります。
Oracleユーザにお勧めの本
以上で本記事の解説を終わります。
よいITライフを!