![]() |
![]() |
組み込み関数を使用すると、参照したデータ項目の値が、実行用プログラムを実行中に自動的に算出される。
組み込み関数を使用した場合、浮動小数点モジュールが必要となる。ランタイムシステム支援モジュールの詳細については、構築とリンクに関するCOBOLシステムのマニュアルを参照。
組み込み関数機能単位において、関数とは一時的なデータ項目である。その値は、文を実行している間に関数が参照された時点で決定される。 関数名はCOBOLの語であり、原始プログラム中で使用できるCOBOLの語のリスト中に含まれている。 (この章で後述する関数の定義 を参照。)
関数の型に応じて、下記のことが示される。
および各国語型
の場合は、戻り値の大きさ。
関数一意名は、COBOL原始プログラムの手続き部の中で使用する、関数の名前である。 ( COBOLの概念 の章の 関数一意名の節を参照。)
関数からの戻り値(関数値)は、データ値とみなされる。関数を使用すると、実行時にこのデータ値が決定される。そのためには、プログラムから関数に、基となるデータ値をパラメータとして引き渡す必要がある。このパラメータを 引数という。関数によっては、引数の取る値の範囲などに制約があるものがある。関数の実行時に引数の値がその関数の制約から外れる場合、その関数からの戻り値は保証されない。
引数は、関数値を求めるために使用する値である。引数は、関数一意名中に指定する。指定する引数の型には、一意名と算術式と定数がある。各関数の定義の説明で、必要な引数の数を具体的に示してある。関数によって、引数は必要ないもの、1つだけ必要とするもの、複数個必要とするものがある。また、中には、指定できる引数の数が変えられる関数もある。 関数一意名中に引数を指定する順序に基づいて、それぞれの引数が解釈され、関数値が決定される。 指定する引数が、特定の字類またはその部分集合に属することが要求される場合がある。引数の型を下に示す。
意味のある関数値を求めるために、引数に指定できる値に制約が設けられることがある。関数の実行時に引数の値がその関数の制約から外れる場合、その関数からの戻り値は保証されない。
関数定義において引数を任意の回数繰り返し指定することが認められている場合、表を使用することができる。この場合、使用する表を識別するデータ名と、必要に応じて修飾語を指定し、その直後に添字を続ける。添字の1つまたはいくつかに語ALLを指定できる。
添字にALLを指定すると、その添字の位置に対応する表要素をすべて指定したのと同様の効果が得られる。この暗黙の指定は、表の要素を左から右に順に指定することを意味する。つまり、指定の対象となる最初(左端)の表要素は、添字に指定した語ALLのそれぞれを、1で置き換えた一意名によって表わされるものとなる。指定の対象となる次の表要素は、右端のALLに対応する添字の値を1繰り上げた一意名によって表わされるものとなる。
それ以降、暗黙の指定の対象となる表要素は、右端のALLに対応する添字の値を順々に1繰り上げていった一意名によって表わされるものとなる。そして、そのALLに対応する添字の値がその最大値に達したところで、その添字の繰り上げ処理は終わりとなる。ALLを指定した添字が複数ある場合は、次に、ALLを指定した右端の添字のすぐ左のALLを指定した添字が1繰り上げられ、ALLを指定した右端の添字の値は1に設定し直される。右端の添字の値を順々に1繰り上げていくことが、再度繰り返される。そして、右端の添字の値が最大値に達するたびに、その左側の添字の値が1繰り上げられる。左側の添字の値が最大値に達したところで、その添字の繰り上げ処理は終わりとなる。その左側にもALLを指定した添字がまだあれば、同様のプロセスが繰り返され、ALLを指定した左端の添字の値が最大値に達するまで、続けられる。
この処理の対象となる添字にOCCURS DEPENDING ON句が指定してある場合は、該当する添字の値の範囲は、OCCURS DEPENDING ON句の右辺の項目に基づいて決められる。ALLを指定した添字が評価された結果、少なくとも引数が1つ存在しなければならない。引数がないと、戻り値は保証されない。
01 Test-Fields. 10 OT-Elem PIC 9(02). 10 Arr. 15 Ind occurs 5 times PIC 9(02). compute OT-Elem = function sum (IND(ALL)).
下記のコーディングと同じ意味になる。
compute OT-Elem = function sum (IND(1), IND(2), IND(3), IND(4), IND(5)).
ALL を指定した添字は、以下の例のように、多くの要素を持つ表でも使用できる。
01 Test-Group. 03 OT-Elem pic 9(15) binary. 03 table-length pic s9(9) binary. 03 array. 05 Ind pic 9(2) occurs 1 to 200 times depending on table length ... move 100 to table-length. compute OT-Elem = function sum (Ind(ALL))
これらの文は、表の最初の100個の要素を合計する。table-lengthに指定された数が、関数の参照時に、加える要素の数として決定される。
データ項目関数は基本データ項目であり、英数字か
各国語型文字か
数字か整数の値を返す。 データ項目関数は基本データ項目として扱われるが、受取り側の作用対象とすることはできない。データ項目関数には、下記の型がある。
またはMOVE文の送出し側としてだけ、 使用できる。
またはMOVE文の送出し側としてだけ、使用できる。
日付変換関数では、グレゴリオ歴を使用している。1601年1月1日を開始日とする。この日は月曜日であるので、開始日からの通算日と曜日の関係がとらえやすくなっている。
たとえば、下記の文を実行すると、指定した日の曜日を表わす整数が返される。
compute DoW = function rem (function integer-of-date (date-field) , 7)
値が0の場合は日曜日、1の場合は月曜日といった具合いになる。
三角法は三角形の辺と角の間の関係を取り扱う。角を測る単位には度、ラジアン、グラードがある。コンピュータでは三角関数の値は通常、連続的近似によって算出される。したがって、SIN, COS, TANの各関数の引数またはASIN, ACOS, ATANの各関数から返される値として使用するときは、角度をラジアンで表す。
1ラジアンは長さが半径に等しい円弧である。半径(r)と円周(c)の関係は式C = 2 * π * r
で表される。円の一周は360度である。よって、360 = 2 * π * r
となる。このことから、下記の変換率が得られる。
1ラジアン = 180/π = 57.295780度
1度 = π/180 = 0.01745329ラジアン
その他に、角度を表すのに、グラード(直角の百分の1)という単位が用いられることがある。その変換率は下記のとおりである。
1ラジアン = 200/π = 63.661977グラード
1グラード = π/200 = 0.01570796ラジアン
使用できる関数を要約して、下記に示す。
The " 引数" の欄には、引数の型と"type" 数を示す。具体的には、下記の型がある。
Alph | 英字 |
Anum | 英数字 |
Int | 整数 |
![]() |
各国語型 |
Num | 数字 |
関数名 | 引数 | 関数型 | 戻り値 |
---|---|---|---|
![]() |
Int1 または Num1 | 引数による | 引数の絶対値 |
ACOS | Num1 | Num | Num1のアークコサイン(逆余弦) |
ANNUITY | Num1, Int2 | Num | 一括掛金1に対して、利率Num1で期間Int2にわたって支払われる即時年金の割合 |
ASIN | Num1 | Num | Num1のアークサイン(逆正弦) |
ATAN | Num1 | Num | Num1のアークタンジェント(逆正接) |
CHAR | Int1 | Anum | プログラムの文字の照合順序中の、位置Int1にある文字 |
![]() |
Int1 | Nat | 各国語型プログラムの照合順序中の、位置Int1にある文字 |
COS | Num1 | Num | Num1のコサイン(余弦) |
CURRENT-DATE | なし | Anum | 現在の日付と時刻と、グリニッジ標準時刻との時差 |
DATE-OF-INTEGER | Int1 | Int | 整数日付に相当する標準日付(YYYYMMDD) |
DATE-TO-YYMMDD | Int1 | Int | 引数-2 の値に基づいてInt2 を YYMMDD からYYYYMMDD に変換された引数-1 |
DAY-OF-INTEGER | Int1 | Int | 整数日付に相当するジュリアン日付(YYYYDDD)(ユリウス暦) |
DAY-TO-YYYYDDD | Int1 | Int | 引数-2 の値に基づいてInt2 を YYDDD からYYYYDDD に変換された引数-1 |
![]() |
Nat1, Anum1 | Anum | 引数Nat1のUSAGE DISPLAY型の表現 |
![]() |
なし | Num | eの値、自然基数 |
![]() |
Num1 | Num | eのNum1乗 |
![]() |
Num1 | Num | 10 のNum1乗 |
FACTORIAL | Int1 | Int | Int1の階乗 |
![]() |
Num1 | Num | Num1の端数部 |
INTEGER | Num1 | Int | Num1を超えない最大の整数 |
INTEGER-OF-DATE | Int1 | Int | 標準日付(YYYYMMDD)に相当する整数日付 |
INTEGER-OF-DAY | Int1 | Int | ジュリアン日付(YYYYDDD)(ユリウス暦)に相当する整数日付 |
INTEGER-PART | Num1 | Int | Num1の整数部分 |
LENGTH | Alph1 か Anum1 か
![]() か Num1 |
Int | 文字番号の引数の長さ |
![]() |
Alph1 か Anum1 か Int1 か Nat1 か Num1 | Int | 英数字文字番号の引数の長さ positions |
LOG | Num1 | Num | Num1 の自然対数 |
LOG10 | Num1 | Num | 10を底とするNum1 の対数 |
LOWER-CASE | Alph1 か Anum1 か
![]() |
引数による | 引数中のすべての文字を小文字にする |
MAX | Alph1 ... か Anum1 ... か Int1 ... か
![]() Num1 ... |
引数による * | 引数の最大値 |
MEAN | Num1 ... | Num | 引数の算術平均 |
MEDIAN | Num1 ... | Num | 引数のメジアン(中央値) |
MIDRANGE | Num1 ... | Num | 引数の最小値と最大値の平均値 |
MIN | Alph1 ... か Anum1 ... か Int1 ... か
![]() Num1 ... |
引数による * | 引数の最小値 |
MOD | Int1, Int2 | Int | Int1と Int2のモジュロー(法) |
![]() |
Anum1,
![]() |
Nat | 引数Anum1のUSAGE NATIONAL型の表現 |
NUMVAL | Anum1 か
![]() |
Num | 単純数字文字列の数値 |
NUMVAL-C | Anum1 かAnum2 か
![]() |
Num | コンマおよび通貨記号を含むことができる、数字文字列の数値 |
ORD | Alph1 か Anum1 か
![]() |
Int | 文字の照合順序における、引数の順序番号 |
ORD-MAX | Alph1 ... か Anum1 ... か
![]() Num1 |
Int | 最大の引数の順序番号 |
ORD-MIN | Alph1 ... か Anum1 ... か
![]() Num1 |
Int | 最小の引数の順序番号 |
![]() |
なし | Num | 値 |
PRESENT-VALUE | Num1 Num2 ... | Num | 将来にわたる時系列データNum2を、利率Num1で割り引いた現在の値 |
RANDOM | Int1 | Num | 乱数 |
RANGE | Int1 ... か Num1 | 引数による * | 引数の最大値と最小値の差 |
REM | Num1, Num2 | Num | Num1をNum2で割った剰余 |
REVERSE | Alph1 か Anum1 か
![]() |
引数による | 引数中の文字の順序を逆転させる |
![]() |
Num1 | Int | Num1 の符号 |
SIN | Num1 | Num | Num1のサイン(正弦) |
SQRT | Num1 | Num | Num1の平方根 |
STANDARD-DEVIATION | Num1 ... | Num | 引数の標準偏差 |
SUM | Int1 ... か Num1 ... | 引数による * | 引数の和 |
TAN | Num1 | Num | Num1 のタンジェント(正接) |
UPPER-CASE | Alph1 か Anum1 か
![]() |
引数による | 引数中のすべての文字を大文字にする |
VARIANCE | Num1 ... | Num | 引数の分散 |
WHEN-COMPILED | なし | Anum | プログラムがコンパイルされた日付と時刻 |
YEAR-TO-YYYY | Int1
Int2 |
Int | 引数-2 の値に基づいてYY から YYYY に変換された引数-1 |
* 引数がすべて英字である関数の型は、英数字である
ABS関数は引数の絶対値を返す。
この関数の型は引数の型に応じて下記のようになる。
引数の型 |
関数の型 |
---|---|
整数 | 整数 |
数字 | 数字 |
ACOS関数は、引数-1に指定された角または弧(単位はラジアン)のアークコサイン(逆余弦)の近似値を返す。この関数の型は数字である。
注: 度およびグラードからラジアンへの変換係数をこの章の「三角関数」の節に示してある。
ANNUITY(即時年金)関数は、引数-2に指定された数の期間後に、最初の一括掛金に対して、指定された期間にわたって各期末に支払われる、年金の比率の近似値を返す。利子率は引数-1に指定する。利息は各期末に、支払の前に算出される。この関数の型は数字である。
1 / 引数-2
引数-1 / (1 - (1 + 引数-1) ** (- 引数-2))
ASIN関数は引数-1に指定された角または弧(単位はラジアン)のアークサイン(逆正弦)の近似値を返す。この関数の型は数字である。
注: 度およびグラードからラジアンへの変換係数をこの章の「三角関数」の節に示してある。
ATAN関数は、引数-1に指定された角または弧(単位はラジアン)のアークタンジェント(逆正接)の近似値を返す。この関数の型は数字である。
注: 度およびグラードからラジアンへの変換係数をこの章の「三角関数」の節に示してある。
CHAR関数は、プログラムの文字の照合順序の中から、引数-1に指定された順序位置にある文字を返す。この関数の型は英数字である。
CHAR-NATIONAL(国別文字)関数は国別の大小順に並べた一連の文字の中から、順位が引数の値に等しい文字を返す。
関数の型は国別である。
COS関数は、引数-1に指定された角または弧(単位はラジアン)のコサイン(余弦)の近似値を返す。この関数の型は数字である。
注: 度およびグラードからラジアンへの変換係数をこの章の「三角関数」の節に示してある。
CURRENT-DATE関数は、現在の日時に関する21文字の英数字の値を返す。その細目は、暦日、時刻、関数が実行されたシステムが稼働している地域の時刻とグリニッジ標準時刻との時差である。この関数の型は英数字である。
文字位置 |
内 容 |
---|---|
1-4 | グレゴリオ歴の暦年を表わす4桁の数字 calendar. |
5-6 | 年内の月を表わす2桁の数字。値は01から12まで |
7-8 | 月内の日を表わす2桁の数字。値は01から31まで |
9-10 | 真夜中から経過した時間を表わす2桁の数字。値は00から23まで |
11-12 | 時刻の分を表わす2桁の数字。値は00から59まで |
13-14 | 時刻の秒を表わす2桁の数字。値は00から59まで |
15-16 | 1秒の100分の1を表わす2桁の数字。値は00から99まで
1秒よりも細かく時間を測定する機能のないシステムでは、この値は00となる。 |
17 | グリニッジ標準時間との時差の遅早を表わす。値は"-"、 " +"、"0"のいずれかである。 この値が"-" の時は、この前の文字位置に示された時間はグリニッジ標準時間よりも遅れていることを示す。この値が "+" の時は、この前の文字位置に示された時間はグリニッジ標準時間と等しいかそれよりも進んでいることを示す。この値が"0" の時は、この関数を実行したシステムにはグリニッジ標準時間との時差を測る機能がないことを示す。
グリニッジ標準時間との時差を測る機能がないシステムでは、文字位置17から21には値00000が返される。 |
18-19 | 文字位置17の値が"-" の時は、システムで使用されている時刻がグリニッジ標準時間よりも遅れている時間数が、2桁の数字でここに示される。その値は00から12までである。文字位置17の値が"+" の時は、システムで使用されている時刻がグリニッジ標準時間よりも進んでいる時間数が、2桁の数字でここに示される。その値は00から13までである。文字位置17の値が "0" の時は、ここには00が返される。 |
20-21 | システムで使用されている時刻とグリニッジ標準時間との時差の、1時間に満たない分数を表わす。その値は00から59までである。時差の遅早は文字位置17の値が"+" であるか"-" であるかによって示される。文字位置17の値が"0" の時は、ここには00が返される。 |
DATE-OF-INTEGER関数は、グレゴリオ暦の日付を整数形式から標準日付形式(YYYYMMDD)に変換する。この関数の型は整数である。
DATE-TO-YYYYMMDD 関数は引数-1をYYnnnの形からYYYYnnnの形へ変換する。引数-2は実行時に年に追加された時、100年間隔の終了年を定義するか、または引数-1が起こるところへのウィンドウの移動を定義する。この関数の型は整数である。
FUNCTION DATE-TO-YYYYMMDD ( 引数-1 [引数-2] )
(FUNCTION YEAR-TO-YYYY (YY, 引数-2) * 10000 + nnnn) ここで:
YY = FUNCTION INTEGER (引数-1/10000)
nnnn = FUNCTION MOD (引数-1, 10000)
INTEGER および MOD 関数の引数-1 と YEAR-TO-YYYY 関数の引数-2 は、DAY-TO-YYYYMMDD 関数自身の引数-1 と引数-2 と同じである。
DAY-OF-INTEGER関数は、グレゴリオ暦の日付を整数形式からジュリアン日付(ユリウス暦)形式(YYYYDDD)に変換する。この関数の型は整数である。
DAY-TO-YYYYDDD 関数は、引数-1 を YYnnn の形から YYYYnnn の形へ変換する。引数-2 は実行時に年に追加された時、100年間隔の終了年を定義するか、または引数-1が起こるところへのウィンドウの移動を定義する。 この関数の型は整数である。
FUNCTION DAY-TO-YYYYDDD ( 引数-1 [引数-2] )
(FUNCTION YEAR-TO-YYYY (YY, 引数-2) * 1000 + nnn)
ここで:
YY = FUNCTION INTEGER (引数-1/1000)
nnn = FUNCTION MOD (引数-1, 1000)
INTEGER および MOD 関数の引数-1 と YEAR-TO-YYYY 関数の引数-2 は、DAY-TO-YYYYDDD 関数自身の引数-1 と引数-2 と同じである。
DISPLAY-OF関数は引数中の各国語型文字を英数字型の文字表現(外部表現)に変換する。
この関数の型は英数字である。
E関数は、自然対数の底である、eの近似値を返す。
この関数の型は数字である。
2.718281828459045235
EXP関数はeを引数の値分べき乗した値の近似値を返す。
この関数の型は数値である。
FUNCTION E ** 引数-1
EXP10関数は10を引数の値分べき乗した値の近似値を返す。
この関数の型は数字である。
10 ** 引数-1
FACTORIAL関数は、引数-1の階乗である整数を返す。 この関数の型は整数である。
FRACTION-PART関数は引数の端数部分の数値を返す。
この関数の型は数字である。
(引数-1 - FUNCTION INTEGER-PART(引数-1))
ただし、INTEGER-PART関数の引数はFRACTION-PART関数の引数と同じとする。
注: 引数-1の値が+1.5であると、+0.5が返される。引数-1の値が-1.5であると、-0.5が返される。
INTEGER関数は、引数の値以下の整数の最大値を返す。 この関数の型は整数である。
INTEGER-OF-DATE関数は、グレゴリオ暦の日付を標準日付形式(YYYYMMDD)から整数形式に変換する。この関数の型は整数である。
(YYYY * 10,000) + (MM * 100) + DD
INTEGER-OF-DAY関数は、グレゴリオ暦の日付をジュリアン日付(ユリウス暦)形式(YYYYDDD)から整数形式に変換する。この関数の型は整数である。
(YYYY * 1000) + DDD
INTEGER-PART関数は、引数-1の整数部分の値を返す。この関数の型は整数である。
LENGTH関数は、英数字文字位置にある引数の長さと同じ整数を返す。
または、引数の字類によっては各国語型文字位置にある引数の長さ。
この関数の型は整数である。
LENGTH-AN関数は、引数を英数字の文字位置で数えた、長さを表す整数を返す。
この関数の型は整数である。
LOG関数は、eを底とする引数-1の対数(自然対数)の近似値を返す。この関数の型は数字である。
LOG10関数は、10を底とする引数-1の対数の近似値を返す。この関数の型は数字である。
LOWER-CASE関数は、文字列中の大文字を対応する小文字に置き換えて、引数-1と同じ長さの文字列を返す。この関数の型は引数によって決まる。具体的には下記のとおり。
引数の型 |
関数の型 |
---|---|
英字 | 英数字 |
英数字 | 英数字 |
![]() |
各国語型 |
または各国語型文字とし、
最低1文字の長さがなければならない。
MAX関数は、引数-1のうちで値が最大であるものの内容を返す。 この関数の型は引数によって決まる。具体的には下記のとおり。
引数の型 |
関数の型 |
---|---|
英字 | 英数字 |
英数字 | 英数字 |
![]() |
各国語型 |
すべて整数 | 整数 |
数字 | 数字 |
(一部に整数を含んでいてもよい) |
または各国語型関数
の場合、返される値の文字数は、選択された引数-1の文字数と同じである。
MEAN関数は、引数の算術平均値を返す。この関数の型は数字である。
MEDIAN関数は、引数のメジアン(値によって整列したときに中央に来る引数)の内容を返す。この関数の型は数字である。
MIDRANGE関数は、引数の最小値と最大値の算術平均値を返す。この関数の型は数字である。
MIN関数は、引数-1のうちで値が最小であるものの内容を返す。この関数の型は引数によって決まる。具体的には下記のとおり。
引数の型 |
関数の型 |
---|---|
英字 | 英数字 |
英数字 | 英数字 |
![]() |
各国語型 |
すべて整数 | 整数 |
数字 | 数字 |
(一部に整数を含んでいてもよい) |
または各国語型関数
の場合、返される値の文字数は、選択された引数-1の文字数と同じである。
MOD関数は、引数-1を引数-2で割ったときのモジュロー(法、割り切れる値との差)を整数値で返す。 この関数の型は整数である。
引数-1 - (引数-2 * FUNCTION INTEGER (引数-1 / 引数-2))
引数-1 |
引数-2 |
戻り値 |
---|---|---|
11 | 5 | 1 |
-11 | 5 | 4 |
11 | -5 | -4 |
-11 | -5 | -1 |
NATIONAL-OF関数は引数中の英数字型文字を各国語型の文字表現(内部表現)に変換する。
この関数の型は各国語である。
NUMVAL関数は、引数-1に指定された文字列によって表わされる数値を返す。前後の空白は無視される。この関数は数字型である。
か各国語型定数、
または英数字データ項目
か各国語型データ項目
であり、下記のどちらかの形式をとる。
または
ここで、空白はいくつか(0個を含む)の空白文字の文字列を表わし、数字は1桁から18桁までの数字列を表わす。
NUMVAL-C関数は、引数-1に指定された文字列によって表わされる数値を返す。引数-2で指定された任意の通貨記号、または小数点の前にある任意のコンマは無視される。この関数は数字型である。
各国語型定数、
または英数字データ項目か
各国語型データ項目
であり、下記のどちらかの形式とする。
または
ここで、空白はいくつか(0個を含む)の空白文字の文字列を表わし、通貨記号は引数-2に指定した文字の何文字かの文字列を表わし、数字は何桁かの数字列を表わす。
引数-2に数字、コンマ、空白、正号(+)、負号(-)、小数点を指定してはならない。
; または引数-1の字類が各国語型の時には,通貨記号はプログラムで指定した各国語型表現のものが使用される。通貨記号の表現は、 FUNCTION NATIONAL-OF (cs)から戻される値である。
ORD関数は、プログラムの文字の照合順序中で、引数-1が位置する順序を示す整数値を返す。順序番号の最小値は1である。この関数の型は整数である。
各国語型文字の1文字とする。
ORD-MAX関数は、引数-1の中で値が最大のものの順序番号を返す。この関数の型は整数である。
ORD-MIN関数は、引数-1の中で値が最小のものの順序番号を返す。この関数の型は整数である。
PI関数は円周率の近似値を返す。
この関数の型は数字である。
3.141592653589793238
PRESENT-VALUE関数は、引数-2に指定される将来の一連の期間にわたる値を、引数-1に指定される率で割り引いた、現在の値の近似値を返す。この関数の型は数字である。
引数-2 / (1+引数-1) ** n
引数-2の1つの値ごとに、1つの期が想定される。指数nは1から始まって、期が進むごとに1ずつ繰り上げられる。
RANDOM関数は、一様分布から擬似乱数値を1つ返す。この関数の型は数字である。
RANGE関数は、最大の引数値と最小の引数値との差を返す。この関数の型は、引数の型によって決まる。具体的には下記のとおり。
引数の型 |
関数の型 |
---|---|
すべて整数 | 整数 |
数字 | 数字 |
(一部に整数を含んでいてもよい) |
REM関数は、引数-1を引数-2で割った剰余値を返す。この関数の型は数字である。
引数-1 - (引数-2 * FUNCTION INTEGER-PART (引数-1 /引数-2))
REVERSE関数は、引数-1の文字列の順序を逆転させた同じ長さの文字列を返す。この関数の型は、引数の型によって決まる。具体的には下記のとおり。
引数の型 |
関数の型 |
---|---|
英字 | 英数字 |
英数字 | 英数字 |
![]() |
各国語型 |
各国語型
であり、長さは最低でも1文字とする。
SIGN関数は引数の正負の範囲に応じて、+1, 0, -1のどれかを返す。
この関数の型は整数である。
SIN関数は、引数-1に指定された角または弧(単位はラジアン)のサイン(正弦)の近似値を返す。この関数の型は数字である。
注: 度およびグラードからラジアンへの変換係数をこの章の「三角関数」の節に示してある。
SQRT関数は、引数-1の平方根の近似値を返す。この関数の型は数字である。
STANDARD-DEVIATION関数は、引数の標準偏差の近似値を返す。この関数の型は数字である。
SUM関数は、引数の値の和を返す。この関数の型は、引数の型によって決まる。具体的には下記のとおり。
引数の型 |
関数の型 |
---|---|
すべて整数 | 整数 |
数字 | 数字 |
(一部に整数を含んでいてもよい) |
TAN関数は、引数-1に指定された角または弧(単位はラジアン)のタンジェント(正接)の近似値を返す。 この関数の型は数字である。
注: 度およびグラードからラジアンへの変換係数をこの章の「三角関数」の節に示してある。
UPPER-CASE関数は、引数-1の文字列中の小文字を対応する大文字に置き換えた同じ長さの文字列を返す。この関数の型は、引数の型によって決まる。具体的には下記のとおり。
引数の型 |
関数の型 |
---|---|
英字 | 英数字 |
英数字 | 英数字 |
![]() |
各国語型 |
各国語型
であり、最低でも1文字の長さとする。
VARIANCE関数は、引数の分散の近似値を返す。この関数の型は数字である。
WHEN-COMPILED関数は、プログラムがコンパイルされた日付と時刻を返す。この関数の型は英数字である。
文字位置 |
内 容 |
---|---|
1-4 | グレゴリオ歴の暦年を表わす4桁の数字 |
5-6 | 年内の月を表わす2桁の数字。値は01から12まで |
7-8 | 月内の日を表わす2桁の数字。値は01から31まで |
9-10 | 真夜中から経過した時間を表わす2桁の数字。値は00から23まで |
11-12 | 時刻の分を表わす2桁の数字。値は00から59まで |
13-14 | 時刻の秒を表わす2桁の数字。値は00から59まで |
15-16 | 1秒の100分の1を表わす2桁の数字。値は00から99まで
1秒よりも細かく時間を測定する機能のないシステムでは、この値は00となる。 |
17 | グリニッジ標準時間との時差の遅早を表わす。値は"-", " +", "0" のいずれかである。この値が"-"の時は、この前の文字位置に示された時間はグリニッジ標準時間よりも遅れていることを示す。この値が"+"の時は、この前の文字位置に示された時間はグリニッジ標準時間と等しいかそれよりも進んでいることを示す。この値が"0"の時は、この関数を実行したシステムにはグリニッジ標準時間との時差を測る機能がないことを示す。
グリニッジ標準時間との時差を測る機能がないシステムでは、文字位置17から21には値0000が返される。 |
18-19 | 文字位置17の値が"-"の時は、システムで使用されている時刻がグリニッジ標準時間よりも遅れている時間数が、2桁の数字でここに示される。その値は00から12までである。文字位置17の値が"+"の時は、システムで使用されている時刻がグリニッジ標準時間よりも進んでいる時間数が、2桁の数字でここに示される。その値は00から13までである。文字位置17の値が"0"の時は、ここには00が返される。 |
20-21 | システムで使用されている時刻とグリニッジ標準時間との時差の、1時間に満たない分数を表わす。その値は00から59までである。時差の遅早は文字位置17の値が"+"であるか"-"であるかによって示される。
文字位置17の値が"0"の時は、ここには00が返される。 |
YEAR-TO-YYYY 関数は、引数-1 を、年の下位の 2桁から 4桁の年へ変換する。引数-2 は実行時に年に追加された時、100年間隔の終了年を定義するか、または引数-1 が起こるところへのウィンドウの移動を定義する。この関数の型は整数である。
FUNCTION YEAR-TO-YYYY ( 引数-1 [引数-2] )
(FUNCTION NUMVAL (FUNCTION CURRENT-DATE (1:4)) + 引数-2)
ここで、NUMVAL 関数の引数-2 は YEAR-TO-YYYY 関数自身の引数-2 と同じである。
(FUNCTION MOD (最大年, 100) > = 引数-1)
同等の算術式:
引数-1 + 100 * (FUNCTION INTEGER (最大年/100))
引数-1 + 100 * (FUNCTION INTEGER (最大年/100) - 1)
(固定最大年 - FUNCTION NUMVAL (FUNCTION CURRENT-DATE (1:4)))
決まったウィンドウが 1973 から 2072 の場合、2009 では引数-2 は値 63 を持ち、2019 では値 53 を持つ。
![]() |
![]() |