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

YEAR (SQL)

日付式に対して年を返す日付関数です。

Synopsis

YEAR(date-expression)

{fn YEAR(date-expression)}

引数

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

概要

YEAR は、InterSystems IRIS 日付整数 ($HOROLOG 日付)、ODBC 形式の日付文字列、またはタイムスタンプを入力として取ります。YEAR は対応する年を整数で返します。

date-expression タイムスタンプには、データ型 %Library.PosixTimeOpens in a new tab (エンコードされた 64 ビットの符号付き整数) またはデータ型 %Library.TimeStampOpens in a new tab (yyyy-mm-dd hh:mm:ss.fff) のいずれかを指定できます。

年 (yyyy) 部分は 0001 ~ 9999 の範囲の 4 桁の整数にする必要があります。入力では、先頭のゼロはオプションです。出力では、先頭のゼロは抑制されます。2 桁の年は、4 桁の年に拡張されません

date-expression の日付部分は検証され、1 から12 までの範囲の月、および指定した月と年の有効な日の値を含む必要があります。それ以外の場合には、SQLCODE -400 エラー <ILLEGAL VALUE> が生成されます。

date-expression の時刻部分が存在する場合は検証されますが、省略可能です。

Note:

InterSystems IRIS の日付の内部表現と互換性を持たせるために、すべての年の値は、0001 から 9999 までの 4 桁の整数で表記することを強くお勧めします。

TO_DATE および TO_CHAR の各 SQL 関数は、0001 年より前の年を表現できる “ユリウス日” をサポートしています。ObjectScript では、このようなユリウス日をサポートするメソッドを呼び出すことができます。

年形式の既定は、4 桁の年です。この年表示の既定を変更するには、YEAR_OPTION オプションで SET OPTION コマンドを使用します。

YEARMONTHDAYDAYOFMONTHHOURMINUTESECONDDATEPART または DATENAME 関数を使用して、同じ要素を取得することもできます。

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

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

以下の例は、整数 2018 を返します。

SELECT YEAR('2018-02-22 12:45:37') AS ODBCDate_Year
SELECT {fn YEAR(64701)} AS HorologDate_Year

以下の例は、現在の年を返します。

SELECT YEAR(GETDATE()) AS Year_Now

以下の埋め込み SQL の例は、2 つの関数から現在の年を返します。CURRENT_DATE 関数は、DATE データ型を返します。NOW 関数は、TIMESTAMP データ型を返します。YEAR は、両方の入力データ型に 4 桁の年を表す整数を返します。

  &sql(SELECT {fn YEAR(CURRENT_DATE)},
              {fn YEAR({fn NOW()})} INTO :a,:b)
  IF SQLCODE'=0 {
    WRITE !,"Error code ",SQLCODE }
  ELSE {
    WRITE !,"CURRENT_DATE year is: ",a
    WRITE !,"NOW year is: ",b }

関連項目

FeedbackOpens in a new tab