リファレンスガイド> SQL関数のTDVサポート> 変換関数> TRUNC(日付/時刻)
 
TRUNC(日付/時刻)
TRUNC関数は、式の整数部分を返すか、オプションの2番目の引数を使用して、指定された小数点以下の桁数で式を返します。 TRUNCは、式の符号を考慮しません(つまり、負の式と正の式の両方の小数部分はゼロに向かう傾向があります)。
構文
TRUNC (first_arg, [format])
備考
TRUNCATEはTRUNCと同じように機能します。
最初の引数は、キーワードDATE、TIME、またはTIMESTAMPに加えて、切り捨てる日付または時刻の式を含む引用符で囲まれた文字列です。
結果のデータタイプと長さは、最初の引数の場合と同じです。
format引数が存在しない場合:
TIMESTAMPは、00:00:00の時刻で1日に切り捨てられます。
DATEまたはTIMESTAMPの日付部分は変更されません。
TIMEまたはTIMESTAMPの時間部分は00:00:00として返されます。
オプションの2番目の引数formatはSTRINGです。その値を以下の表に示します。この引数では大文字と小文字は区別されません。
フォーマット引数
TRUNC出力
CC
SCC
世紀の初めの年に切り捨てられます。たとえば、2050-01-01は2001-01-01に切り捨てられます。
SYEAR、SYYYY
YEAR、YYYY、YYY、YY、Y
今年の初めに切り捨てます。
IYYY、IYY、IY、I
現在のISO年の初めに切り捨てられます。 ISO年(ISO 8601標準)は、1月の第1木曜日を含む週の月曜日に始まります。早ければ前年の12/29から、遅くとも今年の01/04まで開始できます。
Q
現在の四半期の初めに切り捨てます。
MONTH、MON、MM、RM
今月の初めに切り捨てます。
WW
今年の最初の日と同じ週の日。
IW
今週のISO年の最初の日(つまり、月曜日)と同じ日。
W
その月の最初の日と同じ週の日。
DDD、DD、J
日付を返します(TIMESTAMPの時間部分は00:00:00)。
DAY、DY、D
今週の開始日(日曜日)の日付を返します。
IDDD
ISOの年の日。年の1日目は最初のISO週の月曜日です。範囲は001〜371です。
ID
ISOの曜日。月曜日= 1および日曜日= 7。
HH、HH12、HH24
00分00秒で1時間に切り捨てます。
MI
00秒で分に切り捨てます。
この表は、TRUNC(または同等のTRUNCATE)の例と、使用可能なフォーマット定義および結果を示しています。
SELECTステートメント
結果
TRUNC (TIMESTAMP '1983-03-06 12:34:56', 'cc')
1901-01-01 00:00:00
TRUNC (TIMESTAMP '1983-03-06 15:59:31','Y')
1983-01-01 00:00:00
TRUNC (DATE '1983-03-06', 'yyyy')
1983-01-01
TRUNC (TIMESTAMP '2015-03-06 15:59:31','I')
2014-12-29 00:00:00
TRUNC (DATE '2015-03-06', 'i')
2014-12-29
TRUNC (TIMESTAMP '1983-03-06 15:59:31','q')
1983-01-01 00:00:00
TRUNC (DATE '1983-03-06', 'q')
1983-01-01
TRUNC (TIMESTAMP '1983-03-06 12:34:56', 'mm')
1983-03-01 00:00:00
TRUNC (DATE '1983-03-06', 'mm')
1983-03-01
TRUNC (DATE '2015-04-03', 'ww')
2015-04-02
TRUNC (DATE '2015-04-03', 'iw')
2015-03-30
TRUNC (DATE '2015-04-03', 'w')
2015-04-01
TRUNC (TIMESTAMP '2015-04-03 12:34:56', 'ddd')
2015-04-03 00:00:00
TRUNC (TIMESTAMP '2015-04-03 12:34:56', 'd')
2015-03-29 00:00:00
TRUNC (TIMESTAMP '2015-06-10 12:34:56', 'hh')
2015-06-10 12:00:00