CURDATE (SQL)
構文
{fn CURDATE()}
{fn CURDATE}
概要
CURDATE は、引数を取りません。現在のローカル日付を DATE データ型として返します。引数の括弧はオプションです。CURDATE は、このタイムゾーンの現在のローカル日付を返します。これはサマータイムなどのローカル時刻調整に合わせて調整されます。
論理モードの CURDATE は、$HOROLOG 形式で現在のローカル日付を返します (例:64701)。表示モードの CURDATE は、そのロケールの既定形式で現在のローカル日付を返します。例えば、アメリカのロケールでは 02/22/2018、ヨーロッパのロケールでは 22/02/2018、ロシアのロケールでは 22.02.2018 となります。
異なる日付形式を指定するには、TO_DATE 関数を使用します。既定の日付形式を変更するには、DATE_FORMAT、YEAR_OPTION、または DATE_SEPARATOR オプションで SET OPTION コマンドを使用します。
現在の日付のみを返すには、CURDATE または CURRENT_DATE を使用します。これらの関数は、その値を DATE データ型で返します。現在の日付と時間を TIMESTAMP データ型で返す場合は、CURRENT_TIMESTAMP 関数、GETDATE 関数、および NOW 関数を使用できます。
InterSystems SQL の時刻関数および日付関数は、GETUTCDATE を除いてすべて、それぞれのローカル・タイム・ゾーン設定に固有です。タイム・ゾーンに依存しない世界時による現在のタイムスタンプを取得するには、GETUTCDATE または ObjectScript の $ZTIMESTAMP 特殊変数を使用します。
埋め込み SQL を使用するときは、これらのデータ型の動作が異なります。DATE データ型は $HOROLOG 形式の整数として値を格納し、SQL で表示されるときは日付表示形式に変換され、埋め込み SQL から返されるときは整数として返されます。TIMESTAMP データ型は、同じ形式で値を格納および表示します。日付および時刻のデータ型は、CONVERT 関数を使用して変更できます。
例
以下の例は、ともに現在の日付を返します。
SELECT {fn CURDATE()} AS Today
SELECT {fn CURDATE} AS Today
以下の例は、現在の日付を返します。この日付は $HOROLOG 形式で格納されるため、整数として返されます。
SELECT {fn CURDATE()} AS CurrentDate
以下の例は、現在の日付以降の出荷日を示すすべてのレコードを返すために、CURDATE が SELECT 文でどのように使用されるかを示します。
SELECT * FROM Orders
WHERE ShipDate >= {fn CURDATE()}
関連項目
-
SQL 関数: CURRENT_DATE、CURRENT_TIME、CURRENT_TIMESTAMP、CURTIME、GETDATE、GETUTCDATE、NOW
-
ObjectScript 関数: $ZDATE