与えられた日付式で、その月の日付を 1 から 31 までの整数値で返す、スカラ日付/時刻関数です。
Synopsis
{fn DAYOFMONTH(date-expression)}
引数
date-expression 列の名前や、他のスカラ関数の結果、または日付やタイムスタンプ・リテラルである式
概要
DAYOFMONTH は、日付整数または日付/時刻文字列を取ります。日付/時刻文字列は、以下の形式で指定します。
yyyy-mm-dd hh:mm:ss
DAYOFMONTH は、月の日付を整数として返します。
日付/時刻文字列の日部分 (dd) は、1 から 31 までの整数である必要があります。ただし、ユーザの指定値に対して、範囲チェックは行われません。31 よりも大きな数と小数は、指定された通りに返されます。(–) は区切り文字として使用されるため、負の数はサポートされません。入力では、先頭のゼロはオプションです。出力では、先頭と末尾のゼロは抑制されます。
日部分が '0'、'00'、または数以外の値の場合、DAYOFMONTH は NULL を返します。日付文字列の日部分が完全に省略されている場合 ('yyyy–mm hh:mm:ss')、または日付式が指定されていない場合も、同様に NULL が返されます。
日付/時刻文字列の各要素は、SQL スカラ関数の YEARMONTHDAYOFMONTHHOURMINUTESECOND をそれぞれ使用して取得できます。DATEPART または DATENAME 関数を使用して、DAYOFMONTH と同じ日要素を取得することもできます。DATEPART および DATENAME では、日の値に対して値と範囲のチェックが行われます。
以下のメソッド・コールを使用することで、Caché ObjectScript からこの関数を呼び出すこともできます。
$SYSTEM.SQL.DAYOFMONTH(date-expression)
以下の例は、指定された日付がその月の 25 番目の日であるため 25 を返します。
SELECT DISTINCT {fn DAYOFMONTH('2004-02-25')} AS DayNum
FROM Sample.Person
SELECT DISTINCT {fn DAYOFMONTH(59590)} AS DayNum
FROM Sample.Person
以下の例も、月の日付として数値 25 を返します。年は省略されていますが、区切り文字列 (–) がプレースホルダとしての役割を果たしています。
SELECT DISTINCT {fn DAYOFMONTH('-02-25 11:45:32')} AS DayNum
FROM Sample.Person
以下の例は、<null> を返します。
SELECT DISTINCT {fn DAYOFMONTH('2000-02-00 11:45:32')} AS DayNum
FROM sample.person
SELECT DISTINCT {fn DAYOFMONTH('2000-02 11:45:32')} AS DayNum
FROM sample.person
SELECT DISTINCT {fn DAYOFMONTH('11:45:32')} AS DayNum
FROM sample.person
以下の例は、今日の日付を示す値を返します。
SELECT DISTINCT {fn DAYOFMONTH({fn NOW()})} AS Day_Now
FROM Sample.Person
SELECT DISTINCT {fn DAYOFMONTH(CURRENT_DATE)} AS Day_Now
FROM Sample.Person
SELECT DISTINCT {fn DAYOFMONTH(CURRENT_TIMESTAMP)} AS Day_Now
FROM Sample.Person
関連項目