LAST_DAY (SQL)
構文
LAST_DAY(date-expression)
概要
LAST_DAY は、指定した月の最後の日付を $HOROLOG 形式の整数として返します。うるう年の違いが計算されます (2000 年はうるう年で 1900 年と 2100 年はうるう年ではないという、1 世紀の日付調整など)。
date-expression には、InterSystems IRIS 日付整数、$HOROLOG 値や $ZTIMESTAMP 値、ODBC 形式の日付文字列、またはタイムスタンプを指定できます。
date-expression タイムスタンプには、データ型 %Library.PosixTimeOpens in a new tab (エンコードされた 64 ビットの符号付き整数) またはデータ型 %Library.TimeStampOpens in a new tab (yyyy-mm-dd hh:mm:ss.fff) のいずれかを指定できます。
%TimeStamp 文字列の時刻部分はオプションです。
無効な日付を指定すると、LAST_DAY は 0 (表示モードでは 12/31/1840) を返します。無効な日付とは、日または月が 0、12 より大きい月、または該当年の該当月の日数を上回る日付です。年の範囲は 0001 ~ 9999 です。
この関数は、ObjectScript から LASTDAY()Opens in a new tab メソッド・コールを使用して呼び出すこともできます。
WRITE $SYSTEM.SQL.Functions.LASTDAY("2018-02-22"),!
WRITE $SYSTEM.SQL.Functions.LASTDAY(64701)
引数
date-expression
列の名前や、他のスカラ関数の結果、または日付やタイムスタンプ・リテラルである式。
例
以下の例では、月の最後の日付を InterSystems IRIS 日付整数として返しています。この値が整数として表示されるか日付文字列として表示されるかは、現在の SQL Display モード設定に依存します。
以下の 2 つの例は、指定した日付が含まれる月の最後の日が 2 月 29 日であるため (2004 年はうるう年です)、両方とも ('2004–02–29' に対応する) 59594 を返します。
SELECT LAST_DAY('2004-02-25')
SELECT LAST_DAY(59590)
以下の例はすべて、現在の月の最後の日付に相当する InterSystems IRIS 日付整数を返します。
SELECT LAST_DAY({fn NOW()}) AS LD_Now,
LAST_DAY(CURRENT_DATE) AS LD_CurrDate,
LAST_DAY(CURRENT_TIMESTAMP) AS LD_CurrTstamp,
LAST_DAY($ZTIMESTAMP) AS LD_ZTstamp,
LAST_DAY($HOROLOG) AS LD_Horolog