リファレンスガイド> SQL関数のTDVサポート> 日付関数> EXTRACT
 
EXTRACT
EXTRACT関数は、TIMESTAMPまたはINTERVAL値から単一のフィールドを抽出します。
構文
EXTRACT (<field_name> FROM <value>)
 
field_name引数は、SECOND、MINUTE、HOUR、DAY、MONTH、QUARTER、またはYEARです。 value引数は、タイプTIMESTAMPまたはINTERVALです。
備考
出力のデータタイプは、値の主要な精度に等しい精度とゼロのスケールを持つ正確なNUMERICです。フィールド名がSECONDの場合、精度は先頭の精度と秒の値の精度の合計に等しく、スケールはSECONDの精度に等しくなります。
値が負のINTERVALの場合、結果は負の値になります。
値がNULLの場合、結果もNULLになります。
抽出(間隔あり)
SELECT orders.OrderDate,
EXTRACT (SECOND FROM INTERVAL '2 23:51:19.124' DAY TO SECOND),
EXTRACT (MINUTE FROM INTERVAL '2 23:51:19.124' DAY TO SECOND),
EXTRACT (HOUR FROM INTERVAL '2 23:51:19.124' DAY TO SECOND),
EXTRACT (DAY FROM INTERVAL '2 23:51:19.124' DAY TO SECOND),
EXTRACT (MONTH FROM INTERVAL '500' MONTH(3))
EXTRACT (YEAR FROM INTERVAL '499-11' YEAR(3) TO MONTH),
FROM /shared/examples/ds_orders/orders
 
EXTRACT関数の結果:
EXTRACT (SECOND FROM INTERVAL '2 23:51:19.124' DAY TO SECOND) = 19.124
EXTRACT (MINUTE FROM INTERVAL '2 23:51:19.124' DAY TO SECOND) = 51
EXTRACT (HOUR FROM INTERVAL '2 23:51:19.124' DAY TO SECOND) = 23
EXTRACT (DAY FROM INTERVAL '2 23:51:19.124' DAY TO SECOND) = 2
EXTRACT (MONTH FROM INTERVAL '500' MONTH(3)) = 500
EXTRACT (YEAR FROM INTERVAL '499-11' YEAR(3) TO MONTH) = 499
抽出(間隔なし)
SELECT orders.ShipName,
orders.OrderID,
orders.OrderDate,
EXTRACT (DAY FROM orders.OrderDate) "day",
EXTRACT (MONTH FROM orders.OrderDate) "month"
EXTRACT (QUARTER FROM orders.OrderDate) "quarter"
FROM /shared/examples/ds_orders/orders orders