ANS85 

YEAR-TO-YYYY 関数

YEAR-TO-YYYY 関数は、argument-1 で指定された年数を 2 桁の形式から 4 桁の形式に変換する。argument-2 は、実行時の年数に追加されて、100 年の期間の終了年、つまり argument-1 の年数を含むスライド式ウィンドウを定義する。この関数の型は整数である。

一般形式

    FUNCTION YEAR-TO-YYYY ( argument-1 [argument-2] ) 

引数

  1. argument-1 は 100 未満の負でない整数とする。
  2. argument-2 は整数とする。
  3. argument-2 を省略すると、この関数は 50 が指定されたものとして評価される。
  4. 実行時の年数および argument-2 の値の合計は、10,000 未満で 1699 より大きいものとする。

戻り値

  1. maximum-year (最大年) は以下のとおり計算される。

    (FUNCTION NUMVAL (FUNCTION CURRENT-DATE (1:4)) + argument-2)

    ここで、NUMVAL 関数の argument-2 は YEAR-TO-YYYY 関数自体の argument-2 と同じである。

  2. 同等の算術式は次のとおり。
    1. 以下の条件が真の場合、

      FUNCTION MOD (maximum-year, 100) > = argument-1

      同等の算術式は次のとおり。

      (argument-1 + 100 * (FUNCTION INTEGER (maximum-year/100)))

    2. それ以外の場合の同等の算術式は次のとおり。

      (argument-1 + 100 * (FUNCTION INTEGER (maximum-year/100) - 1))

  1. 1995 年の FUNCTION YEAR-TO-YYYY (4, 23) の戻り値は 2004 である。2008 年の FUNCTION YEAR-TO-YYYY (98, (-15)) の戻り値は 1898 である。
  2. YEAR-TO-YYYY 関数はスライド式ウィンドウ アルゴリズムを実装している。これを固定式ウィンドウで使用するには、argument-2 を以下のとおり指定できる。ここで、fixed-maximum-year は固定された 100 年の期間での最大年とする。

    (fixed-maximum-year - FUNCTION NUMVAL (FUNCTION CURRENT-DATE (1:4)))

    固定式ウィンドウが 1973 から 2072 の場合、2009 では argument-2 は値が 63 になり、2019 では値が 53 になる。