Skip to main content

This documentation is for an older version of this product. See the latest version of this content.Opens in a new tab

MONTHNAME (SQL)

日付式に対してその月の名前を返す日付関数です。

Synopsis

{fn MONTHNAME(date-expression)}

引数

引数 説明
date-expression InterSystems IRIS 日付整数、ODBC 日付、またはタイムスタンプとして評価される式。この式は、列の名前、他のスカラ関数の結果、または日付やタイムスタンプのリテラルとすることができます。

概要

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 を使用すると、他の日付要素で月の名前または月名の省略形を検索できます。月に対応する整数を返すには、MONTHDATEPART、または TO_DATE を使用します。

この関数は、ObjectScript から MONTHNAME()Opens in a new tab メソッド・コールを使用して呼び出すこともできます。

$SYSTEM.SQL.Functions.MONTHNAME(date-expression)

以下の例は、日付式 (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

以下の埋め込み SQL の例は、MONTHNAME が無効な日付 (2017 年はうるう年ではない) をどのように処理するかを示しています。

   SET testdate="2017-02-29"
   &sql(SELECT {fn MONTHNAME(:testdate)} INTO :a)
   IF SQLCODE'=0 {
     WRITE !,"Error code ",SQLCODE,!
     WRITE %msg,! }
   ELSE {
     WRITE !,"returns: ",a }
   QUIT

<ILLEGAL VALUE> を示す %msg と共に SQLCODE -400 エラー・コードが発行されます。

関連項目

FeedbackOpens in a new tab