与えられた日付式で年を返す、スカラ日付/時刻関数です。
Synopsis
{fn YEAR(date-expression)}
YEAR は、日付整数または日付/時刻文字列を受け取り、その年を整数として返します。
date-expression は、DATE データ型または TIMESTAMP データ型の日付、あるいは日付/時刻文字列形式になります。
年部分 (yyyy) は、1840 から 9999 までの 4 桁の整数である必要があります。ただし、ユーザの指定値に対して、範囲チェックは行われません。この範囲を超える数、負の数、および小数は、指定されたとおりに返されます。2 桁の年は、4 桁の年に拡張
されません。
Note:
Caché の日付の内部表現と互換性を持たせるために、すべての年の値は、1840 から 9999 までの 4 桁の整数で表記することを
強くお勧めします。
TO_DATE および
TO_CHAR SQL 関数は、ユリウス日 をサポートしています。ユリウス日は、1840 年以前の年を表すために使用できます。Caché ObjectScript は、ユリウス日などをサポートする関数を提供していません。
YEAR は、年の部分が 1 つまたは複数のゼロの文字列 ('0' または '0000') の場合、あるいは非数値の場合に、ゼロを返します。
YEAR は、最初の数値文字列を年の値として解釈します。そのため、日付文字列の年の部分を省略したり ('-mm-dd hh:mm:ss')、または日の部分を省略すると ('hh:mm:ss')、1 番目の数値 ('-mm' または 'hh') を年の値として処理します。したがって、不明な年の値に対して、プレースホルダを指定する必要があります。Caché との互換性に関しては、一般的に、9999 が好ましい値です。
年形式の既定は、4 桁の年です。この年表示の既定を変更するには、YEAR_OPTION オプションで
SET OPTION コマンドを使用します。
以下のメソッド・コールを使用することで、Caché ObjectScript からこの関数を呼び出すこともできます。
以下の例は、整数 2004 を返します。検証は実行されません。
SELECT DISTINCT {fn YEAR('2004-02-16 12:45:37')} AS Year_Given
FROM Sample.Person
SELECT DISTINCT {fn YEAR(59590)} AS Year_Given
FROM Sample.Person
以下の例は、年フィールドに非数値のプレースホルダが含まれているため、年に 0 を返します。区切り文字 () は、特定の文字 (列) の後ろに置く必要があります。そうしないと、月が年の値として返されます。
SELECT DISTINCT {fn YEAR('*-02-16')} AS Year_Given
FROM Sample.Person
SELECT DISTINCT {fn YEAR(' -02-16')} AS Year_Given
FROM Sample.Person
SELECT DISTINCT {fn YEAR(GETDATE())} AS Year_Now
FROM Sample.Person
以下の埋め込み SQL の例は、2 つの関数から現在の年を返します。
CURRENT_DATE 関数は、DATE データ型を返します。
NOW 関数は、TIMESTAMP データ型を返します。
YEAR は、両方の入力データ型に 4 桁の年を表す整数を返します。
&sql(SELECT {fn YEAR(CURRENT_DATE)}
INTO :a
FROM Sample.Person)
&sql(SELECT {fn YEAR({fn NOW()})}
INTO :b
FROM Sample.Person)
WRITE !,"CURRENT_DATE year is: ",a
WRITE !,"NOW year is: ",b
-
-
Caché ObjectScript 関数 :
$ZDATE