MONTHNAME スカラー関数
MONTHNAME 関数は、入力値の月の部分に対する月の名前 (例えば、January) を含んだ文字ストリングを返します。
スキーマは SYSIBM です。 MONTHNAME 関数の SYSFUN バージョンは引き続き使用できます。
locale-name または特殊レジスター CURRENT LOCALE LC_TIME の値に基づいて、文字ストリングが返されます。
- expression
- 以下のいずれかの組み込みデータ・タイプの値を戻す式。すなわち、DATE、TIMESTAMP、または日付かタイム・スタンプの有効な文字ストリング表記 (CLOB 以外)。 Unicode データベースでは、指定した引数が GRAPHIC ストリングであると、 まず文字ストリングに変換されてから、関数が実行されます。 ロケール名
- 結果の言語を判別する際に使用するロケールを指定する文字定数。 locale-name の値は大/小文字の区別がなく、有効なロケールでなければなりません (SQLSTATE 42815)。 有効なロケールとその命名については、
SQL および XQuery のロケール名
を参照してください。 locale-name が指定されないと、 特殊レジスター CURRENT LOCALE LC_TIME の値が使用されます。
結果は、可変長文字ストリングです。 長さ属性は 100 です。 結果のストリングが結果の長さ属性より長い場合、結果は切り捨てられます。 expression 引数が NULL になる可能性がある場合、結果も NULL になる可能性があります。expression 引数が NULL であれば、結果は NULL 値になります。 結果の コード・ページは、そのセクションのコード・ページです。 結果のストリング単位は、環境のストリング単位によって決定されます。
注
- ユリウス暦およびグレゴリオ暦: この関数では、1582 年 10 月 15 日のユリウス暦からグレゴリオ暦への移行が考慮されます。 ただし、MONTHNAME 関数の SYSFUN バージョンでは、すべての計算にグレゴリオ暦を想定しています。
- 決定論: MONTHNAME は決定論的な関数です。 ただし、locale-name が明示的に指定されない場合、関数の呼び出しは、特殊レジスター CURRENT LOCALE LC_TIME の値によって決まります。 特殊レジスターを使用できない場合は、特殊レジスターの値に依存する呼び出しを使用できません (SQLSTATE 42621、428EC、または 428EC)。
例
変数 TMSTAMP が TIMESTAMP として定義されており、2007-03-09-14.07.38.123456 という値があるとします。 以下の各例では、いくつかの関数の呼び出しと結果のストリング値が示されています。 各ケースの結果タイプは VARCHAR(100) です。
Function invocation Result
-------------------------- ----------
MONTHNAME (TMSTAMP, 'CLDR181_en_US') March
MONTHNAME (TSMTAMP, 'CLDR181_de_DE') Marz
MONTHNAME (TMSTAMP, 'CLDR181_fr_FR') mars