MONTH (SQL)
構文
MONTH(date-expression)
{fn MONTH(date-expression)}
概要
MONTH は、月を示す整数を返します。月の整数は、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) のいずれかを指定できます。
日付文字列の月 (mm) 部分は、1 から 12 までの範囲の整数である必要があります。入力では、先頭のゼロはオプションです。出力では、先頭と末尾のゼロは抑制されます。
date-expression の日付部分は検証され、1 から12 までの範囲の月、および指定した月と年の有効な日の値を含む必要があります。それ以外の場合には、SQLCODE -400 エラー <ILLEGAL VALUE> が生成されます。
date-expression の時刻部分は検証されないため省略可能です。
MONTH は、{ } 括弧構文による ODBC スカラ関数、または SQL 汎用関数として呼び出せる点に注意してください。
この関数は、ObjectScript から MONTH()Opens in a new tab メソッド・コールを使用して呼び出すこともできます。
$SYSTEM.SQL.Functions.MONTH(date-expression)
日付/時刻文字列の要素は、SQL 関数の YEAR、MONTH、DAY (または DAYOFMONTH)、HOUR、MINUTE、SECOND をそれぞれ使用して取得できます。DATEPART または DATENAME 関数を使用して、同じ要素を取得することもできます。日付要素は、TO_DATE を使用して取得できます。DATEPART および DATENAME では、月の値に対して値と範囲のチェックが行われます。
LAST_DAY 関数は、指定した月の最後の日付を返します。
引数
date-expression
列の名前や、他のスカラ関数の結果、または日付やタイムスタンプ・リテラルである式。
例
以下の例は、2 月は 1 年の中で 2 番目の月なので、両方とも 2 を返します。
SELECT MONTH('2018-02-22') AS Month_Given
SELECT {fn MONTH(64701)} AS Month_Given
以下の例では、DOB の年コンポーネントを無視して、レコードを月と日の誕生日順に配列しています。
SELECT Name,DOB AS Birthdays
FROM Sample.Person
ORDER BY MONTH(DOB),DAY(DOB),Name
以下の例はすべて、現在の月を返します。
SELECT {fn MONTH({fn NOW()})} AS MNow,
MONTH(CURRENT_DATE) AS MCurrD,
{fn MONTH(CURRENT_TIMESTAMP)} AS MCurrTS,
MONTH($HOROLOG) AS MHorolog,
{fn MONTH($ZTIMESTAMP)} AS MZTS
関連項目
-
SQL 関数 : DATEPART、DATENAME、DAYOFMONTH、LAST_DAY、MONTHNAME、TO_DATE
-
ObjectScript 関数: $ZDATE
-
ObjectScript 特殊変数: $HOROLOG、$ZTIMESTAMP