SQL 解説書

関数

関数とは、関数名の後に 1 対の括弧で囲んだ引き数の指定を伴う演算です (引き数がない場合もあります)。

関数は、列関数スカラー関数行関数、または表関数 として分類されます。

表 15 に、サポートされている関数を示します。 「関数名」と「スキーマ」を組み合わせることによって、関数の完全修飾名となります。 「説明」は、関数の動作の簡単な説明です。 「入力パラメーター」には、関数呼び出し中に各引き数に予期されるデータ・タイプを示します。 関数の多くには、さまざまな入力パラメーターが含まれており、 異なるデータ・タイプまたは異なる数の引き数を使用することができます。 スキーマ、関数名、および入力パラメーターの組み合わせが関数シグニチャーを構成します。 関数シグニチャーごとに異なるタイプの値を戻すことがあります。 この値については「戻り値」の欄に示してあります。

入力パラメーターのタイプについて、理解しておくべきいくつかの点があります。 タイプは、特定の組み込みデータ・タイプとして指定される場合と、 any-numeric-type (任意の数値タイプの意) のような総称的変数を使って示されている場合とがあります。 特定のデータ・タイプが示されている場合は、 指定されたデータ・タイプに対してのみ正しい一致が成立します。 一般的な変数が使用される場合、 その変数に対応する各データ・タイプに対して正確な一致が成立します。 関数解決で説明したように、この違いが関数選択に影響します。

これらの関数シグニチャーのいずれかをソースとして使用してユーザー定義関数が作成されていたり (CREATE FUNCTIONを参照)、 ユーザーが独自のプログラムを使用して外部関数を作成したりすることがあるため、 下記に示すもの以外にも使用可能な関数が存在する場合もあります。
注:
  • 組み込み関数はデータベース・マネージャーに用意されている関数で、1 つの結果値を戻します。 組み込み関数は SYSIBM スキーマの一部として識別されます。 このような関数の例としては、AVG などの列関数、 "+" などの演算関数、DECIMAL などのキャスト関数、 SUBSTR などのその他の関数があります。
  • ユーザー定義関数は、 SYSCAT.FUNCTIONS のデータベースに登録されている (CREATE FUNCTION ステートメントを使って) 関数です。 ユーザー定義関数は SYSIBM スキーマの一部ではありません。 このような関数の集合の 1 つは、 SYSFUN という名前のスキーマでデータベース・マネージャーに提供されています。

表 15. サポートされている関数
関数名 スキーマ 説明
入力パラメーター 戻り値のタイプ
ABS または ABSVAL SYSFUN 引き数の絶対値を戻します。
SMALLINT SMALLINT
INTEGER INTEGER
BIGINT BIGINT
DOUBLE DOUBLE
ACOS SYSFUN 引き数のアークコサイン (逆余弦) の値をラジアン単位で戻します。
DOUBLE DOUBLE
ASCII SYSFUN 引き数の左端の文字の ASCII コード値を整数として戻します。
CHAR INTEGER
VARCHAR(4000) INTEGER
CLOB(1M) INTEGER
ASIN SYSFUN 引き数のアークサイン (逆正弦) の値をラジアン単位で戻します。
DOUBLE DOUBLE
ATAN SYSFUN 引き数のアークタンジェント (逆正接) の値をラジアン単位で戻します。
DOUBLE DOUBLE
ATAN2 SYSFUN 最初と 2 番目の引き数によってそれぞれ指定される x 座標と、 y 座標に基づくアークタンジェント (逆正接) の値をラジアン単位で戻します。
DOUBLE, DOUBLE DOUBLE
AVG SYSIBM (列関数) 一連の数値の平均値を戻します。
numeric-type 4 numeric-type 1
BIGINT SYSIBM 数値または文字ストリングを 64 ビットで表した整数を、整数定数の形で戻します。
numeric-type BIGINT
VARCHAR BIGINT
BLOB SYSIBM ソース・タイプから BLOB にキャストします (長さの指定は任意)。
string-type BLOB
string-type, INTEGER BLOB
CEIL または CEILING SYSFUN 引き数よりも大きいか等しい整数で、最小の整数を戻します。
SMALLINT SMALLINT
INTEGER INTEGER
BIGINT BIGINT
DOUBLE DOUBLE
CHAR SYSIBM ソース・タイプのストリング表記を戻します。
character-type CHAR
character-type, INTEGER CHAR(integer)
datetime-type CHAR
datetime-type, keyword 2 CHAR
SMALLINT CHAR(6)
INTEGER CHAR(11)
BIGINT CHAR(20)
DECIMAL CHAR(2+precision)
DECIMAL, VARCHAR CHAR(2+precision)
CHAR SYSFUN 浮動小数点数の文字ストリング表記を戻します。
DOUBLE CHAR(24)
CHR SYSFUN 引き数で指定される ASCII コード値を持つ文字を戻します。 引き数の値は 0 〜 255 の範囲でなければなりません。そうでない場合、 戻り値はヌル値になります。
INTEGER CHAR(1)
CLOB SYSIBM ソース・タイプから CLOB にキャストします (長さは任意)。
character-type CLOB
character-type, INTEGER CLOB
COALESCE 3 SYSIBM 一連の引き数のうち、ヌル値以外の最初の引き数を戻します。
any-type, any-union-compatible-type, ... any-type
CONCAT または || SYSIBM 2 つのストリング引き数を連結した結果を戻します。
string-type, compatible-string-type max string-type
CORRELATION または CORR SYSIBM 数値の組の集合に関する相関係数を戻します。
numeric-type, numeric-type DOUBLE
COS SYSFUN 引き数のコサイン (余弦) の値を戻します。引き数は、 ラジアン単位の角度です。
DOUBLE DOUBLE
COT SYSFUN 引き数に対するコタンジェント (余接) の値を戻します。 引き数はラジアン単位の角度です。
DOUBLE DOUBLE
COUNT SYSIBM (列関数) 行または値の集合内の行数を戻します。
any-builtin-type 4 INTEGER
COUNT_BIG SYSIBM (列関数) 一連の行の行または値の数、あるいは値を戻します。 結果は整数の最大値より大きくなる場合があります。
any-builtin-type 4 DECIMAL(31,0)
COVARIANCE または COVAR SYSIBM 数値の組の集合に見られる共分散を戻します。
numeric-type, numeric-type DOUBLE
DATE SYSIBM 単一の入力値から日付を戻します。
DATE DATE
TIMESTAMP DATE
DOUBLE DATE
VARCHAR DATE
DAY SYSIBM 値の日の部分を戻します。
VARCHAR INTEGER
DATE INTEGER
TIMESTAMP INTEGER
DECIMAL INTEGER
DAYNAME SYSFUN db2start が 出された時点のロケールに基づいて、 引き数の日の部分の曜日名を含む大文字小文字混合文字ストリング (たとえば、 Friday) を戻します。
VARCHAR(26) VARCHAR(100)
DATE VARCHAR(100)
TIMESTAMP VARCHAR(100)
DAYOFWEEK SYSFUN 引き数の曜日を 1 〜 7 の範囲の整数値として戻します。1 は日曜を表します。
VARCHAR(26) INTEGER
DATE INTEGER
TIMESTAMP INTEGER
DAYOFWEEK_ISO SYSFUN 引き数の曜日を 1 〜 7 の範囲の整数値として戻します。1 は月曜を表します。
VARCHAR(26) INTEGER
DATE INTEGER
TIMESTAMP INTEGER
DAYOFYEAR SYSFUN 引き数の年間通算日を、1 〜 366 の範囲の整数値として戻します。
VARCHAR(26) INTEGER
DATE INTEGER
TIMESTAMP INTEGER
DAYS SYSIBM 日付の整数表記を戻します。
VARCHAR INTEGER
TIMESTAMP INTEGER
DATE INTEGER
DBCLOB SYSIBM ソース・タイプから DBCLOB にキャストします (長さは任意)。
graphic-type DBCLOB
graphic-type, INTEGER DBCLOB
DECIMAL または DEC SYSIBM 数値の 10 進表記を戻します (精度と位取りの指定は任意)。
numeric-type DECIMAL
numeric-type, INTEGER DECIMAL
numeric-type INTEGER, INTEGER DECIMAL
DECIMAL または DEC SYSIBM 文字ストリングの 10 進数表記を戻します (精度、位取り、 および小数点文字の指定は任意)。
VARCHAR DECIMAL
VARCHAR, INTEGER DECIMAL
VARCHAR, INTEGER, INTEGER DECIMAL
VARCHAR, INTEGER, INTEGER, VARCHAR DECIMAL
DEGREES SYSFUN ラジアン単位の引き数を度単位の角度に変換して戻します。
DOUBLE DOUBLE
DEREF SYSIBM 参照タイプ引き数のターゲット・タイプのインスタンスを戻します。
効力範囲が定義されている REF(any-structured-type) any-structured-type (入力ターゲット・タイプと同じ)
DIFFERENCE SYSFUN SOUNDEX 関数によって判別される 2 つの引き数ストリングの語の音の差を戻します。 4 の値は、それらのストリングが同じ音であることを意味します。
VARCHAR(4000), VARCHAR(4000) INTEGER
DIGITS SYSIBM 数値の文字ストリング表記を戻します。
DECIMAL CHAR
DLCOMMENT SYSIBM データ・リンク値のコメント属性を戻します。
DATALINK VARCHAR(254)
DLLINKTYPE SYSIBM データ・リンク値のリンク・タイプ属性を戻します。
DATALINK VARCHAR(4)
DLURLCOMPLETE SYSIBM データ・リンク値の完全 URL (アクセス・トークンを含む) を戻します。
DATALINK VARCHAR
DLURLPATH SYSIBM データ・リンク値のパスおよびファイル名 (アクセス・トークンを含む) を戻します。
DATALINK VARCHAR
DLURLPATHONLY SYSIBM データ・リンク値のパスおよびファイル名 (アクセス・トークンを含まない) を戻します。
DATALINK VARCHAR
DLURLSCHEME SYSIBM データ・リンク値の URL 属性から方式を戻します。
DATALINK VARCHAR
DLURLSERVER SYSIBM データ・リンク値の URL 属性からサーバーを戻します。
DATALINK VARCHAR
DLVALUE SYSIBM データ位置付け引き数、リンク・タイプ引き数、 および任意選択のコメント・ストリング引き数からデータ・リンク値を作成します。
VARCHAR DATALINK
VARCHAR, VARCHAR DATALINK
VARCHAR, VARCHAR, VARCHAR DATALINK
DOUBLE または DOUBLE_PRECISION SYSIBM 数値の浮動小数点表記を戻します。
numeric-type DOUBLE
DOUBLE SYSFUN 数値の文字ストリング表記に対応する浮動小数点数を戻します。 引き数 に先行ブランクや後続ブランクがあっても、それは無視されます。
VARCHAR DOUBLE
EVENT_MON_STATE SYSIBM 特定のイベント・モニターの作動状態を戻します。
VARCHAR INTEGER
EXP SYSFUN 引き数に対する指数関数値を戻します。
DOUBLE DOUBLE
FLOAT SYSIBM DOUBLE と同じ。
FLOOR SYSFUN 引き数よりも小さいか等しい整数で、最大の整数値を戻します。
SMALLINT SMALLINT
INTEGER INTEGER
BIGINT BIGINT
DOUBLE DOUBLE
GENERATE_UNIQUE SYSIBM 同じ関数の他の実行とは異なる固有なビット・データ文字ストリングを戻します。
引き数はない CHAR(13) FOR BIT DATA
GRAPHIC SYSIBM ソース・タイプから GRAPHIC にキャストします (長さは任意)。
graphic-type GRAPHIC
graphic-type, INTEGER GRAPHIC
GROUPING SYSIBM (列関数) グループ化集合によって生成される小計行を示すために、 グループ化集合およびスーパー・グループで使用されます。 戻される値は以下のとおりです。

1
戻される行の引き数の値はヌル値であり、 この行はグループ化集合用に生成されました。 生成されたこの行は、グループ化集合の小計を提供します。

0
それ以外の場合。
any-type SMALLINT
HEX SYSIBM 16 進数表記の値を戻します。
any-builtin-type VARCHAR
HOUR SYSIBM 値の時間の部分を戻します。
VARCHAR INTEGER
TIME INTEGER
TIMESTAMP INTEGER
DECIMAL INTEGER
INSERT SYSFUN argument1argument2 から始まる argument3 バイトの部分を削除し、 その argument2 から始まる argument1argument4 を挿入した結果のストリングを戻します。
VARCHAR(4000), INTEGER, INTEGER, VARCHAR(4000) VARCHAR(4000)
CLOB(1M), INTEGER, INTEGER, CLOB(1M) CLOB(1M)
BLOB(1M), INTEGER, INTEGER, BLOB(1M) BLOB(1M)
INTEGER または INT SYSIBM 数値の整数表記を戻します。
numeric-type INTEGER
VARCHAR INTEGER
JULIAN_DAY SYSFUN 紀元前 4712 年 1 月 1 日 (ユリウス暦の起点) からの経過日数を表す整数値を argument で指定された日付値に戻します。
VARCHAR(26) INTEGER
DATE INTEGER
TIMESTAMP INTEGER
LCASE または LOWER SYSIBM すべての文字を小文字に変換した結果のストリングを戻します。
CHAR CHAR
VARCHAR VARCHAR
LCASE SYSFUN すべての文字を小文字に変換した結果のストリングを戻します。 LCASE は、不変セットの文字だけを処理します。 したがって、LCASE(UCASE(string)) は LCASE(string) と同じ結果を戻すとはかぎりません。
VARCHAR(4000) VARCHAR(4000)
CLOB(1M) CLOB(1M)
LEFT SYSFUN argument1 の左端の argument2 バイトからなるストリングを戻します。
VARCHAR(4000), INTEGER VARCHAR(4000)
CLOB(1M), INTEGER CLOB(1M)
BLOB(1M), INTEGER BLOB(1M)
LENGTH SYSIBM オペランドの長さをバイト数で戻します (長さを文字数で戻す 2 バイト・ストリング・タイプを除きます)。
any-builtin-type INTEGER
LN SUSFUN 引き数の自然対数を戻します (LOG と同じ)。
DOUBLE DOUBLE
LOCATE SYSFUN argument2 の中の argument1 の最初のオカレンスの開始位置を戻します。 任意指定の 3 番目の引き数が指定されている場合、 その引き数は argument2 の中で探索を開始する文字位置を示します。 argument1argument2 内にない場合は、 値 0 が戻されます。
VARCHAR(4000), VARCHAR(4000) INTEGER
VARCHAR(4000), VARCHAR(4000), INTEGER INTEGER
CLOB(1M), CLOB(1M) INTEGER
CLOB(1M), CLOB(1M), INTEGER INTEGER
BLOB(1M), BLOB(1M) INTEGER
BLOB(1M), BLOB(1M), INTEGER INTEGER
LOG SYSFUN 引き数の自然対数を戻します (LN と同じ)。
DOUBLE DOUBLE
LOG10
引き数の 10 を底とする対数を戻します。
DOUBLE DOUBLE
LONG_VARCHAR SYSIBM 長ストリングを戻します。
character-type LONG VARCHAR
LONG_VARGRAPHIC SYSIBM ソース・タイプから LONG_VARGRAPHIC にキャストします。
graphic-type LONG VARGRAPHIC
LTRIM SYSIBM 先行ブランクを除いた引き数の文字を戻します。
CHAR VARCHAR
VARCHAR VARCHAR
GRAPHIC VARGRAPHIC
VARGRAPHIC VARGRAPHIC
LTRIM SYSFUN 先行ブランクを除いた引き数の文字を戻します。
VARCHAR(4000) VARCHAR(4000)
CLOB(1M) CLOB(1M)
MAX SYSIBM (列関数) 一連の値の最大値を戻します。
any-builtin-type 5 入力タイプと同じ
MICROSECOND SYSIBM 値のマイクロ秒 (時間の単位) の部分を戻します。
VARCHAR INTEGER
TIMESTAMP INTEGER
DECIMAL INTEGER
MIDNIGHT_SECONDS SYSFUN 午前 0 時から argument で指定した時刻値までの秒数を表す 0 〜 86 400 の範囲の整数値を戻します。
VARCHAR(26) INTEGER
TIME INTEGER
TIMESTAMP INTEGER
MIN SYSIBM (列関数) 一連の値の最小値を戻します。
any-builtin-type 5 入力タイプと同じ
MINUTE SYSIBM 値の分の部分を戻します。
VARCHAR INTEGER
TIME INTEGER
TIMESTAMP INTEGER
DECIMAL INTEGER
MOD SYSFUN argument1argument2 で除算して、 その剰余 (モジュラス) を戻します。 結果は、argument1 が負の場合にのみ負になります。
SMALLINT, SMALLINT SMALLINT
INTEGER, INTEGER INTEGER
BIGINT, BIGINT BIGINT
MONTH SYSIBM 値の月の部分を戻します。
VARCHAR INTEGER
DATE INTEGER
TIMESTAMP INTEGER
DECIMAL INTEGER
MONTHNAME SYSFUN データベース開始時のロケールに基づいて、 日付またはタイム・スタンプである引き数の月の部分の月名 (January など) を含む大文字小文字混合文字ストリングを戻します。
VARCHAR(26) VARCHAR(100)
DATE VARCHAR(100)
TIMESTAMP VARCHAR(100)
NODENUMBER 3 SYSIBM 行のノード番号を戻します。 引き数は表内の列名です。
any-type INTEGER
NULLIF 3 SYSIBM 引き数が等しい場合はヌル値、等しくない場合は最初の引き数を戻します。
any-type 5, any-comparable-type5 any-type
PARTITION 3 SYSIBM 行の区分化マップ索引 (0 〜 4095) を戻します。 引き数は表内の列名です。
any-type INTEGER
POSSTR SYSIBM あるストリングが他のストリングに含まれている位置を戻します。
string-type, compatible-string-type INTEGER
POWER SYSFUN argument1argument2 乗の値を戻します。
INTEGER, INTEGER INTEGER
BIGINT, BIGINT BIGINT
DOUBLE, INTEGER DOUBLE
DOUBLE, DOUBLE DOUBLE
QUARTER SYSFUN 引き数で指定された日付がどの 4 半期かを示す 1 〜 4 の範囲の整数値を戻します。
VARCHAR(26) INTEGER
DATE INTEGER
TIMESTAMP INTEGER
RADIANS SYSFUN 度単位の引き数をラジアン単位の角度に変換して戻します。
DOUBLE DOUBLE
RAISE_ERROR3 SYSIBM SQLCA にエラーを発生させます。 戻される sqlstate は argument1 により指定します。 2 番目の引き数には、戻されるテキストが入れられます。
VARCHAR, VARCHAR any-type 6
RAND SYSFUN 引き数を任意選択のシード値として使用して、 0 と 1 の間のランダムな浮動小数点数値を戻します。
引き数を必要としない DOUBLE
INTEGER DOUBLE
REAL SYSIBM 数値の単精度浮動小数点表記を戻します。
numeric-type REAL
REGR_AVGX SYSIBM 診断統計を計算するために使用される数量を戻します。
numeric-type, numeric-type DOUBLE
REGR_AVGY SYSIBM 診断統計を計算するために使用される数量を戻します。
numeric-type, numeric-type DOUBLE
REGR_COUNT SYSIBM 回帰直線をフィッティングするために使用される非ヌル文字の対の数を戻します。
numeric-type, numeric-type INTEGER
REGR_INTERCEPT または REGR_ICPT SYSIBM 回帰直線の y 切片を戻します。
numeric-type, numeric-type DOUBLE
REGR_R2 SYSIBM 回帰に関する判別の係数を戻します。
numeric-type, numeric-type DOUBLE
REGR_SLOPE SYSIBM 直線の傾きを戻します。
numeric-type, numeric-type DOUBLE
REGR_SXX SYSIBM 診断統計を計算するために使用される数量を戻します。
numeric-type, numeric-type DOUBLE
REGR_SXY SYSIBM 診断統計を計算するために使用される数量を戻します。
numeric-type, numeric-type DOUBLE
REGR_SYY SYSIBM 診断統計を計算するために使用される数量を戻します。
numeric-type, numeric-type DOUBLE
REPEAT SYSFUN argument1argument2 回繰り返した結果の文字ストリングを戻します。
VARCHAR(4000), INTEGER VARCHAR(4000)
CLOB(1M), INTEGER CLOB(1M)
BLOB(1M), INTEGER BLOB(1M)
REPLACE SYSFUN argument1 に存在する argument2 をすべて argument3 に置き換えます。
VARCHAR(4000), VARCHAR(4000), VARCHAR(4000) VARCHAR(4000)
CLOB(1M), CLOB(1M), CLOB(1M) CLOB(1M)
BLOB(1M), BLOB(1M), BLOB(1M) BLOB(1M)
RIGHT SYSFUN argument1 の右端の argument2 バイトからなるストリングを戻します。
VARCHAR(4000), INTEGER VARCHAR(4000)
CLOB(1M), INTEGER CLOB(1M)
BLOB(1M), INTEGER BLOB(1M)
ROUND SYSFUN 最初の引き数を小数点以下 argument2 桁目で丸めた結果を戻します。 argument2 が負の場合、 argument1 の小数点の左側の「argument2 の絶対値」桁未満が切り捨てられます。
INTEGER, INTEGER INTEGER
BIGINT, INTEGER BIGINT
DOUBLE, INTEGER DOUBLE
RTRIM SYSIBM 後続ブランクを除いた引き数の文字を戻します。
CHAR VARCHAR
VARCHAR VARCHAR
GRAPHIC VARGRAPHIC
VARGRAPHIC VARGRAPHIC
RTRIM SYSFUN 後続ブランクを除いた引き数の文字を戻します。
VARCHAR(4000) VARCHAR(4000)
CLOB(1M) CLOB(1M)
SECOND SYSIBM 値の秒 (時間の単位) の部分を戻します。
VARCHAR INTEGER
TIME INTEGER
TIMESTAMP INTEGER
DECIMAL INTEGER
SIGN SYSFUN 引き数の符号の標識を戻します。 引き数が負の場合は、-1 が戻されます。 引き数がゼロの場合は、0 が戻されます。 引き数が正の場合には、1 が戻されます。
SMALLINT SMALLINT
INTEGER INTEGER
BIGINT BIGINT
DOUBLE DOUBLE
SIN SYSFUN 引き数のサイン (正弦) の値を戻します。 引き数は、ラジアン単位の角度です。
DOUBLE DOUBLE
SMALLINT SYSIBM 数値の短精度整数表記を戻します。
numeric-type SMALLINT
VARCHAR SMALLINT
SOUNDEX SYSFUN 引き数の語の音を表す 4 文字コードを戻します。 この結果は、他のストリングの音との比較に使用することができます。 DIFFERENCE も参照。
VARCHAR(4000) CHAR(4)
SPACE SYSFUN argument1 個のブランクからなる文字ストリングを戻します。
INTEGER VARCHAR(4000)
SQLCACHE_SNAPSHOT SYSFUN DB2 動的 SQL ステートメント・キャッシュのスナップショットの表を戻します。
SQLCACHE_SNAPSHOTを参照。
SQRT SYSFUN 引き数の平方根を戻します。
DOUBLE DOUBLE
STDDEV SYSIBM (列関数) 一連の数値の標準偏差を戻します。
DOUBLE DOUBLE
SUBSTR SYSIBM argument1 の位置 argument2 から始まる argument3 文字のサブストリングを戻します。 argument3 を指定しない場合は、ストリングの残りすべてが戻されます。
string-type, INTEGER string-type
string-type, INTEGER, INTEGER string-type
SUM SYSIBM (列関数) 一連の数値の合計値を戻します。
numeric-type 4 max-numeric-type 1
TABLE_NAME SYSIBM argument1 で指定するオブジェクト名、 および argument2 で指定する任意選択のスキーマ名に基づく表または視点の非修飾名を戻します。 この関数は、別名の解決に使用されます。
VARCHAR VARCHAR(128)
VARCHAR, VARCHAR VARCHAR(128)
TABLE_SCHEMA SYSIBM argument1 で指定するオブジェクト名、 および argument2 で指定する任意選択のスキーマ名によって指定される、 2 つの部分からなる表名または視点名のスキーマ名の部分を戻します。 この関数は、別名の解決に使用されます。
VARCHAR VARCHAR(128)
VARCHAR, VARCHAR VARCHAR(128)
TAN SYSFUN 引き数のタンジェント (正接) の値を戻します。 引き数は、ラジアン単位の角度です。
DOUBLE DOUBLE
TIME SYSIBM 値から時刻を戻します。
TIME TIME
TIMESTAMP TIME
VARCHAR TIME
TIMESTAMP SYSIBM 値または一対の値からタイム・スタンプを戻します。
TIMESTAMP TIMESTAMP
VARCHAR TIMESTAMP
VARCHAR, VARCHAR TIMESTAMP
VARCHAR, TIME TIMESTAMP
DATE, VARCHAR TIMESTAMP
DATE, TIME TIMESTAMP
TIMESTAMP_ISO SYSFUN 日付、時刻、またはタイム・スタンプの引き数に基づいてタイム・スタンプ値を戻します。 引き数が日付の場合は、時間要素のすべてにゼロが入れられます。 引き数が時刻の場合、日付要素には CURRENT DATE の値、 時刻の小数要素にはゼロが入れられます。
DATE TIMESTAMP
TIME TIMESTAMP
TIMESTAMP TIMESTAMP
VARCHAR(26) TIMESTAMP
TIMESTAMPDIFF SYSFUN 2 つのタイム・スタンプの間の差に従って、 タイプ argument1 での間隔数の見積もりが戻されます。 2 番目の引き数は、2 つのタイム・スタンプ・タイプの減算を行い、 その結果を CHAR に変換した結果です。 間隔 (argument1) の有効な値は次のとおりです。

1
秒の小数部
2
秒数
4
分数
8
時間数
16
日数
32
週数
64
月数
128
四半期数
256
年数
INTEGER, CHAR(22) INTEGER
TRANSLATE SYSIBM 1 つまたは複数の文字を他の文字に変換したストリングを戻します。
CHAR CHAR
VARCHAR VARCHAR
CHAR, VARCHAR, VARCHAR CHAR
VARCHAR, VARCHAR, VARCHAR VARCHAR
CHAR, VARCHAR, VARCHAR, VARCHAR CHAR
VARCHAR, VARCHAR, VARCHAR, VARCHAR VARCHAR
GRAPHIC, VARGRAPHIC, VARGRAPHIC GRAPHIC
VARGRAPHIC, VARGRAPHIC, VARGRAPHIC VARGRAPHIC
GRAPHIC, VARGRAPHIC, VARGRAPHIC, VARGRAPHIC GRAPHIC
VARGRAPHIC, VARGRAPHIC, VARGRAPHIC, VARGRAPHIC VARGRAPHIC
TRUNC または TRUNCATE SYSFUN argument1 の小数点以下 argument2 桁までを切り捨てた結果を戻します。 argument2 が負の場合、 argument1 の小数点の左側の「argument2 の絶対値」桁未満が切り捨てられます。
INTEGER, INTEGER INTEGER
BIGINT, INTEGER BIGINT
DOUBLE, INTEGER DOUBLE
TYPE_ID 3 SYSIBM 引き数の動的データ・タイプの内部データ・タイプ識別子を戻します。 この関数の結果はデータベース間で移行できないことに注意してください。
any-structured-type INTEGER
TYPE_NAME 3 SYSIBM 引き数の動的データ・タイプの非修飾名を戻します。
any-structured-type VARCHAR(18)
TYPE_SCHEMA 3 SYSIBM 引き数の動的タイプのスキーマ名を戻します。
any-structured-type VARCHAR(128)
UCASE または UPPER SYSIBM すべての文字を大文字に変換したストリングを戻します。
CHAR CHAR
VARCHAR VARCHAR
UCASE SYSFUN すべての文字を大文字に変換したストリングを戻します。
VARCHAR VARCHAR
VALUE 3 SYSIBM COALESCE と同じ。
VARCHAR SYSIBM 最初の引き数の VARCHAR 表記を戻します。 2 番目の引き数を指定した場合、その値は結果の長さを指定します。
character-type VARCHAR
character-type, INTEGER VARCHAR
datetime-type VARCHAR
VARGRAPHIC SYSIBM 最初の引き数の VARGRAPHIC 表記を戻します。 2 番目の引き数を指定した場合、その値は結果の長さを指定します。
graphic-type VARGRAPHIC
graphic-type, INTEGER VARGRAPHIC
VARCHAR VARGRAPHIC
VARIANCE または VAR SYSIBM (列関数) 一連の数値の差異を戻します。
DOUBLE DOUBLE
WEEK SYSFUN 引き数の年間通算週番号を、1 〜 54 の範囲の整数値として戻します。
VARCHAR(26) INTEGER
DATE INTEGER
TIMESTAMP INTEGER
WEEK_ISO SYSFUN 引き数の年間通算週番号を、1 〜 53 の範囲の整数値として戻します。 週の最初の日は月曜日です。 第 1 週は、年の第 1 週目で木曜日を含みます。
VARCHAR(26) INTEGER
DATE INTEGER
TIMESTAMP INTEGER
YEAR SYSIBM 値の年の部分を戻します。
VARCHAR INTEGER
DATE INTEGER
TIMESTAMP INTEGER
DECIMAL INTEGER
"+" SYSIBM 2 つの数値オペランドを加算します。
numeric-type, numeric-type max numeric-type
"+" SYSIBM 単項加算演算子。
numeric-type numeric-type
"+" SYSIBM 日付 / 時刻加算演算子
DATE, DECIMAL(8,0) DATE
TIME, DECIMAL(6,0) TIME
TIMESTAMP, DECIMAL(20,6) TIMESTAMP
DECIMAL(8,0), DATE DATE
DECIMAL(6,0), TIME TIME
DECIMAL(20,6), TIMESTAMP TIMESTAMP
datetime-type, DOUBLE, labeled-duration-code datetime-type
"-" SYSIBM 2 つの数値オペランドを減算します。
numeric-type, numeric-type max numeric-type
"-" SYSIBM 単項減算演算子。
numeric-type numeric-type 1
"-" SYSIBM 日付 / 時刻減算演算子。
DATE, DATE DECIMAL(8,0)
TIME, TIME DECIMAL(6,0)
TIMESTAMP, TIMESTAMP DECIMAL(20,6)
DATE, VARCHAR DECIMAL(8,0)
TIME, VARCHAR DECIMAL(6,0)
TIMESTAMP, VARCHAR DECIMAL(20,6)
VARCHAR, DATE DECIMAL(8,0)
VARCHAR, TIME DECIMAL(6,0)
VARCHAR, TIMESTAMP DECIMAL(20,6)
DATE, DECIMAL(8,0) DATE
TIME, DECIMAL(6,0) TIME
TIMESTAMP, DECIMAL(20,6) TIMESTAMP
datetime-type, DOUBLE, labeled-duration-code datetime-type
"*" SYSIBM 2 つの数値オペランドを乗算します。
numeric-type, numeric-type max numeric-type
"/" SYSIBM 2 つの数値オペランドを除算します。
numeric-type, numeric-type max numeric-type
"||" SYSIBM CONCAT と同じ。

  • 長さで修飾されていないストリング・データ・タイプへの参照は、 最大長のデータ・タイプをサポートするものとみなされます。
  • 精度と位取りを指定していない DECIMAL データ・タイプへの参照は、 サポートされているすべての精度と位取りが可能であるとみなされます。

凡例

any-builtin-type
特殊タイプ以外の任意のデータ・タイプ。
any-type
データベースに定義されている任意のタイプ。
any-structured-type
データベースに定義されているユーザー定義の構造タイプ。
any-comparable-type
割り当てと比較 の定義に従って、 他の引き数タイプと比較可能なタイプ。
any-union-compatible-type
結果のデータ・タイプに関する規則の定義に従って、 他の引き数タイプと互換性のあるタイプ。
character-type
文字ストリング・タイプ CHAR、VARCHAR、LONG VARCHAR、CLOB のいずれか。
compatible-string-type
他の引き数と同じグループのストリング・タイプ (たとえば、 引き数の一方が character-type なら、 もう一方の引き数も character-type でなければなりません)。
datetime-type
日付 / 時刻タイプ DATE、TIME、TIMESTAMP のいずれか。
graphic-type
2 バイト文字ストリング・タイプ GRAPHIC、VARGRAPHIC、LONG VARGRAPHIC、 DBCLOB のいずれか。
labeled-duration-code
これは、タイプとしては SMALLINT です。 関数が、プラスまたはマイナス演算子の挿入形式を使用して呼び出される場合は、 ラベル付き期間で定義されているラベル付き期間を使用することができます。 プラスまたはマイナスの演算子文字を名前として使用しないソース関数の場合、 関数を呼び出すときに labeled-duration-code 引き数に次の値を使用する必要があります。

1
YEAR または YEARS
2
MONTH または MONTHS
3
DAY または DAYS
4
HOUR または HOURS
5
MINUTE または MINUTES
6
SECOND または SECONDS
7
MICROSECOND または MICROSECONDS
LOB-type
ラージ・オブジェクト・タイプ BLOB、CLOB、DBCLOB のいずれか。
max-numeric-type
引き数の最大数値タイプ。 最大値は右端の numeric-type として定義されます。
max-string-type
引き数の最大文字列タイプ。 最大値は右端の character-type または graphic-type として定義されます。 引き数が BLOB の場合、max-string-type は BLOB です。
numeric-type
数値タイプ SMALLINT、INTEGER、BIGINT、DECIMAL、REAL、DOUBLE のいずれか。
string-type
character-typegraphic-type、または BLOB のいずれか。

表の脚注

1
入力パラメーターが SMALLINT の場合、結果タイプは INTEGER です。 入力パラメーターが REAL の場合、結果タイプは DOUBLE です。
2
使用できる keyword (キーワード) は、ISO、USA、EUR、JIS、 および LOCAL です。 この関数シグニチャーは、ソース関数からの派生関数としてはサポートされていません。
3
この関数は、ソース関数としては使用できません。
4
第 1 パラメーターの前にキーワード ALL または DISTINCT を使用できます。 DISTINCT を指定した場合、ユーザー定義構造タイプ、 長ストリング・タイプまたは DATALINK タイプは使用できません。
5
ユーザー定義構造タイプ、 長ストリング・タイプまたは DATALINK タイプは使用できません。
6
RAISE_ERROR によって戻されるタイプは、それを使う文脈によって異なります。 特定のタイプにキャストしない場合、 RAISE_ERROR は、CASE 式内でのその呼び出しに適したタイプを戻します。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]