TRUNCATEファンクション(省略形TRUNC)は、数値または日時値の切捨てを行うファンクションです。TRUNCファンクションの構文は、その対象が数値または日時の値のどちらであるかに応じて異なるため、次のように2つに分けて説明します。
TRUNCATE(日時)ファンクションは、時間部分を伴う日付を書式モデルで指定された単位に切り捨てた値を返します。
戻り値
DATETIME
構文
TRUNC (datetime_exp, [fmt])
引数
日時の数値を指定する日時式。
表8-6「ROUNDおよびTRUNC日付ファンクションの日時書式テンプレート」に示す書式モデルのいずれかを指定するテキスト式。書式モデルは、日時の値をどのように切り捨てるかを示します。fmt
を省略した場合、date
は最も近い日付に切り捨てられます。
例
例8-150 最も近い年への切捨て
NLS_DATE_FORMATオプションの値がDD-MON-YY
の場合、次の文を発行します。
SHOW TRUNC (TO_DATE('27-OCT-92'),'YEAR')
次の値が返されます。
01-JAN-92
例8-151 様々な書式での切捨て
次のオプション値、変数および値がアナリティック・ワークスペースにあるとします。
SHOW NLS_DATE_FORMAT DD-MON-RR DEFINE MYDATETIME VARIABLE DATETIME DATE_FORMAT = 'MON-RRRR-DD-HH24' mydatetime = CURRENT_TIMESTAMP SHOW mydatetime = 'AUG-2006-07-14'
次のSHOW文が示すように、TRUNCATEファンクションの書式引数に指定する値に応じて、ファンクションから返される値が決まります。
SHOW TRUNCATE(mydatetime, 'MON') 01-AUG-06 SHOW TRUNCATE(mydatetime, 'DD') 07-AUG-06 SHOW TRUNCATE(mydatetime) = 'AUG-2006-07-00'
数値を引数として指定すると、TRUNCATEファンクションは、指定された小数点以下の桁数に数値を切り捨てます。
戻り値
DECIMAL
構文
TRUNC (number, truncvalue)
引数
切捨ての対象となる数値。numberに指定した値の後には、カンマを付ける必要があります。
numberが切り捨てられる、小数点の右側または左側の桁数を指定するINTEGER
値。truncvalueが正の値の場合は、小数点の右側の桁が切り捨てられます。負の値の場合は、小数点の左側の桁が切り捨てられます(つまり、ゼロになります)。truncvalueを省略すると、numberの小数点以下の桁数は0
桁に切り捨てられます。
例