与えられた日付式の月名を含む文字列を返す、スカラ日付/時刻関数です。
Synopsis
{fn MONTHNAME(date-expression)}
引数
date-expression 列の名前や、他のスカラ関数の結果、または日付やタイムスタンプ・リテラルである式。
概要
MONTHNAME は、日付整数または日付/時刻文字列を入力として取ります。日付/時刻文字列は、以下の形式で指定します。
yyyy-mm-dd hh:mm:ss
返される月の名前は、January から December です。
MONTHNAME は、指定された日付が有効であることをチェックします。年は 1841 ~ 9999、月は 01 ~ 12、日はその月に適切な数字 (例えば、02/29 はうるう年のみ有効) である必要があります。日付が無効の場合、MONTHNAME は SQLCODE = -400 (致命的なエラーが発生しました) を設定します。
月の名前は、既定のアメリカ英語の省略のない月の名前になります。これらの月の名前の値を変更するには、MONTH_NAME オプションで SET OPTION コマンドを使用します。
DATENAME 関数を使用して、同じ月名情報を取得することもできます。TO_DATE を使用すると、他の日付要素で月の名前または月名の省略形を検索できます。月に対応する整数を返すには、MONTHDATEPART、または TO_DATE を使用します。
以下のメソッド・コールを使用することで、Caché ObjectScript からこの関数を呼び出すこともできます。
$SYSTEM.SQL.MONTHNAME(date-expression)
以下の例は、日付式 (February 16, 2000) の月は 2 月なので、両方とも、文字列 "February" を返します。
SELECT DISTINCT {fn MONTHNAME('2000-02-16')} AS NameOfMonth
FROM Sample.Person
SELECT DISTINCT {fn MONTHNAME(59589)} AS NameOfMonth
FROM Sample.Person
以下の例は、現在の月を返します。
SELECT DISTINCT {fn MONTHNAME({fn NOW()})} AS NameMonthNow
FROM Sample.Person
SELECT DISTINCT {fn MONTHNAME(CURRENT_DATE)} AS NameMonthNow
FROM Sample.Person
以下の埋め込み SQL の例は、MONTHNAME が無効な日付 (2001 年はうるう年ではない) をどのように処理するかを示します。
   SET testdate="2001-02-29"
   &sql(SELECT {fn MONTHNAME(:testdate)} AS NameOfMonth
   INTO :a
   FROM Sample.Person)
   IF SQLCODE'=0 {
     WRITE !,"Error code ",SQLCODE }
   ELSE {
     WRITE !,"returns: ",a }
   QUIT
SQLCODE -400 エラー・コードが発行されます。
関連項目