MONTHNAME (SQL)
構文
{fn MONTHNAME(date-expression)}
概要
MONTHNAME では、入力として 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) のいずれかを指定できます。
タイムスタンプの時刻部分は評価されないので省略可能です。
MONTHNAME は、該当する月の名前 (January ~ December) を返します。この返り値は最長 15 文字の文字列です。
MONTHNAME は、指定された日付が有効であることをチェックします。年は 0001 ~ 9999、月は 01 ~ 12、日はその月に適切な数字 (例えば、02/29 はうるう年のみ有効) である必要があります。日付が無効の場合、MONTHNAME は SQLCODE -400 <ILLEGAL VALUE> エラーを発行します。
月の名前は、既定のアメリカ英語の省略のない月の名前になります。これらの月の名前の値を変更するには、MONTH_NAME オプションで SET OPTION コマンドを使用します。
DATENAME 関数を使用して、同じ月名情報を取得することもできます。TO_DATE を使用すると、他の日付要素で月の名前または月名の省略形を検索できます。月に対応する整数を返すには、MONTH、DATEPART、または TO_DATE を使用します。
この関数は、ObjectScript から MONTHNAME()Opens in a new tab メソッド・コールを使用して呼び出すこともできます。
$SYSTEM.SQL.Functions.MONTHNAME(date-expression)
引数
date-expression
InterSystems IRIS 日付整数、ODBC 日付、またはタイムスタンプとして評価される式。この式は、列の名前、他のスカラ関数の結果、または日付やタイムスタンプのリテラルとすることができます。
例
以下の例は、日付式 (February 22, 2018) の月は 2 月なので、両方とも、文字列 "February" を返します。
SELECT {fn MONTHNAME('2018-02-22')} AS NameOfMonth
SELECT {fn MONTHNAME(64701)} AS NameOfMonth
以下の例はすべて、現在の月を返します。
SELECT {fn MONTHNAME({fn NOW()})} AS MnameNow,
{fn MONTHNAME(CURRENT_DATE)} AS MNameCurrDate,
{fn MONTHNAME(CURRENT_TIMESTAMP)} AS MNameCurrTS,
{fn MONTHNAME($HOROLOG)} AS MNameHorolog,
{fn MONTHNAME($ZTIMESTAMP)} AS MNameZTS
以下の例は、MONTHNAME が無効な日付 (2017 年はうるう年ではない) をどのように処理するかを示しています。
SELECT {fn MONTHNAME("2017-02-29")}
<ILLEGAL VALUE> を示す %msg と共に SQLCODE -400 エラー・コードが発行されます。
関連項目
-
SQL 関数: DATEPART、DATENAME、DAYOFMONTH、MONTH、TO_DATE
-
ObjectScript 関数: $ZDATE
-
ObjectScript 特殊変数: $HOROLOG、$ZTIMESTAMP