Top > SQL 関数一覧 (T‐Z) > TRUNC(日付)

秒単位を切り捨てる、週の初めの日付を求める、四半期を求める、年を・・・

数値の切り捨て処理(TRUNCate)

syntax

TRUNC ( datetime [, format] )
return [ date ]

parameter

datetime切り捨てを行なう日時式(DATE 型)
format切り捨てする時間の要素default 'DD'

return

  • 切り捨てられた日付(※ DATE 型)

avail

  • SQL および PL/SQL の両方で使用可能。

切り捨てする時間の要素(一部)

format 引数内容
CC西暦
YYYY
IYYYISO 年
Q四半期
MM
WWその年の最初の曜日
IWISO 年での最初の曜日
Wその月の最初の曜日
DAY
DD日 (デフォルト)
HH
MI
SSDATE 型精度なので秒単位は無い

TRUNC(日時) 関数の内容

切り捨てを行なう日時式 datetime を 切り捨てする時間の要素 format (省略時 DD) で切り捨てた値を戻す。

注意

TRUNC で使用される datetime の型は DATE 型であるため、TIMESTAMP 型を使用すると DATE 型に 暗黙変換 される。また DATE 型の精度のため秒単位での切り捨ては用意されていない。(Oracle 10g R2 時点)

週の初めの日の定義

切り捨てする時間の要素 format の 'DAY' 指定は週初めの日を戻すが週初めは NLS_TERITORY パラメータによって変わる。
NLS_TERITORY = Japan における週の初めは日曜日に定義されている。

TRUNC(日時) 使用例

SQL> select dt, fmt, TRUNC(dt, fmt) from trunc_date_sample;
 
DT                  FMT      TRUNC(DT,FMT)
------------------- -------- -------------------
2007-07-07 23:30:40 MI       2007-07-07 23:30:00
2007-07-07 23:30:40 HH       2007-07-07 23:00:00
2007-07-07 23:30:40 DD       2007-07-07 00:00:00
2007-07-07 23:30:40 DAY      2007-07-01 00:00:00  -- 2007-07/01(日曜日)
2007-07-07 23:30:40 MM       2007-07-01 00:00:00
2007-07-07 23:30:40 YYYY     2007-01-01 00:00:00
2000-01-01 00:00:00 CC       1901-01-01 00:00:00
SQL> select TRUNC(systimestamp, 'SS') from dual;
select trunc(systimestamp, 'SS') from dual
                           *
行1でエラーが発生しました。:
ORA-01899: 精度指定子が正しくありません。
 


SQL 関数 - TRUNC 関連

関連事項

 
アルファベット別 関数一覧 ショートカット
ABCDEFG
HILMNOP
RSTUVWX
日本オラクル
■ 日本オラクル 株式会社
■ オラクルマスター資格 (オラクルマスターとは
■ Oracle のライセンスがわからない…
Oracle Direct (ネットで聞いても最後はここで要確認)