2.16 スカラ関数
データ型の変数,データの部分抽出,値の変換などをSQLの問合せ式中の選択式,又は探索条件で指定します。
スカラ関数には,次の3種類があります。
-
システム組込みスカラ関数
システム組込みスカラ関数は,スカラ関数が指定できる箇所に指定できます。
-
システム定義スカラ関数
システム定義スカラ関数は,関数呼出しが指定できる箇所に指定できます。
システム定義スカラ関数には,追加で定義できる関数(拡張システム定義スカラ関数)があります。データベースの初期設定時には定義されないで,pdextfuncコマンドを実行することで定義され,指定できるようになる関数です。pdextfuncコマンドについては,マニュアル「HiRDB コマンドリファレンス」を参照してください。
-
プラグイン定義スカラ関数
プラグイン定義スカラ関数は,関数呼出しが指定できる箇所に指定できます。
スカラ関数の一覧を次の表に示します。
分 類 |
スカラ関数 |
機 能 |
スカラ関数の種別 |
---|---|---|---|
変換関数 |
INTEGER |
数データを整数データに変換します。 |
組込み |
DECIMAL |
数データを10進数データに変換します。 |
組込み |
|
FLOAT |
数データを浮動小数点データに変換します。 |
組込み |
|
DIGITS |
整数,10進数,日間隔データ,又は時間隔データの数字の部分を抽出して,文字列表現に変換します。 |
組込み |
|
NUMEDIT |
数値を編集して,文字列表現に変換します。 |
定義 |
|
STRTONUM |
数値の文字列表現を,数データ型に変換します。 |
定義 |
|
CHARACTER |
日付データ,時刻データ,又は時刻印データを,文字列表現に変換します。 |
組込み |
|
VARCHAR_FORMAT |
日付データ,時刻データ,及び時刻印データを,指定した書式の文字列表現に変換します。 |
組込み |
|
DATE |
指定した書式の日付の文字列表現を,日付データに変換します。 西暦1年1月1日からの通算日数をそれが示す日付データに変換します。 |
組込み |
|
DAYS |
日付データ,又は時刻印データを西暦1年1月1日からの通算日数に変換します。 |
組込み |
|
TIME |
指定した書式の時刻の文字表現を,時刻データに変換します。 |
組込み |
|
TIMESTAMP |
時刻印の既定の文字列表現を,時刻印データに変換します。西暦1年1月1日からの通算日数を,それが示す時刻印データに変換します。日付データと時刻データから,それらを組み合わせた時刻印データに変換します。 |
組込み |
|
TIMESTAMP_FORMAT |
指定した書式に従った時刻印の文字列表現を,時刻印データに変換します。 |
組込み |
|
MIDNIGHTSECONDS |
深夜0時から,指定した時刻までの秒数を求めます。 |
定義 |
|
HEX |
値式を16進文字列表現に変換します。 |
組込み |
|
ASCII |
文字をアスキーコードに変換します。 |
定義 |
|
CHR |
アスキーコードを文字に変換します。 |
定義 |
|
RADIANS |
角度を,度数からラジアンに変換します。 |
定義 |
|
DEGREES |
角度を,ラジアンから度数に変換します。 |
定義 |
|
CAST指定 |
値式のデータを,指定したデータ型に変換します。 CAST指定については,「CAST指定」を参照してください。 |
該当しません |
|
抽出関数 |
YEAR |
日付データ,時刻印データ,又は日間隔データから年の部分を抽出します。 |
組込み |
MONTH |
日付データ,時刻印データ,又は日間隔データから月の部分を抽出します。 |
組込み |
|
DAY |
日付データ,時刻印データ,又は日間隔データから日の部分を抽出します。 |
組込み |
|
HOUR |
時刻データ,時刻印データ,又は時間隔データから時間の部分を抽出します。 |
組込み |
|
MINUTE |
時刻データ,時刻印データ,又は時間隔データから分の部分を抽出します。 |
組込み |
|
SECOND |
時刻データ,時刻印データ,又は時間隔データから秒の部分を抽出します。 |
組込み |
|
数学関数 |
ABS |
値式の絶対値を返します。 |
組込み |
MOD |
剰余を返します。 |
組込み |
|
CEIL |
その数値以上の最小の整数を求めます。 |
定義 |
|
FLOOR |
その数値以下の最大の整数を求めます。 |
定義 |
|
TRUNC |
数値の,指定したけた未満を切り捨てます。 |
定義 |
|
ROUND |
切り上げと切り捨ての境界値を指定して,指定したけたに数値を丸めます。又は,四捨五入します。 |
定義 |
|
SIGN |
数値の符号を1(正),0,−1(負)で求めます。 |
定義 |
|
SQRT |
数値の平方根を求めます。 |
定義 |
|
POWER |
数値の累乗を求めます。 |
定義 |
|
EXP |
自然対数の底の累乗を求めます。 |
定義 |
|
LN |
自然対数を求めます。 |
定義 |
|
LOG10 |
常用対数を求めます。 |
定義 |
|
SIN |
ラジアンで指定した角度の正弦(三角関数)を求めます。 |
定義 |
|
COS |
ラジアンで指定した角度の余弦(三角関数)を求めます。 |
定義 |
|
TAN |
ラジアンで指定した角度の正接(三角関数)を求めます。 |
定義 |
|
ASIN |
指定した数値の逆正弦(三角関数)をラジアンで求めます。 |
定義 |
|
ACOS |
指定した数値の逆余弦(三角関数)をラジアンで求めます。 |
定義 |
|
ATAN |
指定した数値の逆正接(三角関数)をラジアンで求めます。 |
定義 |
|
ATAN2 |
点(x,y)の逆正接(三角関数)をラジアンで求めます。 |
定義 |
|
SINH |
双曲線正弦を求めます。 |
定義 |
|
COSH |
双曲線余弦を求めます。 |
定義 |
|
TANH |
双曲線正接を求めます。 |
定義 |
|
PI |
円周率πを求めます。 |
定義 |
|
文字列操作関数 |
SUBSTR |
データ列(文字列又はバイナリ列)中の指定した位置から,指定した文字数又は長さの部分データ列を求めます。 |
組込み |
LEFTSTR |
文字列中の先頭から,指定した文字数の部分文字列を求めます。 |
定義 |
|
RIGHTSTR |
文字列中の最後から,指定した文字数の部分文字列を求めます。 |
定義 |
|
UPPER |
文字列データ中の英小文字を英大文字に変換します。 |
組込み |
|
LOWER |
文字列データ中の英大文字を英小文字に変換します。 |
組込み |
|
TRIM |
左,右,又は左右から,空白又は指定した文字を繰り返し削除します。 |
組込み |
|
TRANSL (TRANSL_LONG) |
文字列中の指定した文字を,対応するほかの文字に文字変換します。 |
定義 |
|
LTRIM |
左から,空白又は指定した文字を繰り返し削除します。 |
定義 |
|
RTRIM |
右から,空白又は指定した文字を繰り返し削除します。 |
定義 |
|
LTRIMSTR |
左から,指定した文字列を繰り返し削除します。 |
定義 |
|
RTRIMSTR |
右から,指定した文字列を繰り返し削除します。 |
定義 |
|
REPLACE (REPLACE_LONG) |
文字列中の部分文字列を,ほかの文字列に繰り返し置き換えます。 |
定義 |
|
INSERTSTR (INSERTSTR_LONG) |
指定した位置から,指定した文字数の部分文字列を文字列中から削除して,その位置に別の文字列を挿入します。 |
定義 |
|
POSSTR |
文字列中に,指定した位置以降にn回数目に出現する,指定した部分文字列の文字位置を求めます。 |
定義 |
|
REVERSESTR |
左右を反転した文字列を求めます。 |
定義 |
|
POSITION |
データ列(文字列又はバイナリ列)中に,指定した位置以降に最初に出現する,指定した部分データ列の位置を求めます。 |
組込み |
|
日付操作関数 |
NEXT_DAY |
指定した日付の次の,指定した曜日の日付を求めます。 |
定義 |
LAST_DAY |
指定した日付の,年月の最終日を求めます。 |
定義 |
|
DAYOFWEEK |
指定した日付の曜日が,その週の何日目かを求めます。 |
定義 |
|
DAYOFYEAR |
指定した日付が,その年の何日目かを求めます。 |
定義 |
|
DAYNAME |
指定した日付の曜日を,英語で求めます。 |
定義 |
|
WEEK |
指定した日付が,その年の第何週目かを求めます。 |
定義 |
|
WEEKOFMONTH |
指定した日付が,その月の第何週目かを求めます。 |
定義 |
|
MONTHNAME |
指定した日付の月の,英語名を求めます。 |
定義 |
|
ROUNDMONTH |
切り上げの最小の日を指定し,日付の日を端数として,年月に丸めた日付を求めます。 |
定義 |
|
TRUNCYEAR |
年度の最初の月日を指定して,その年度の最初の日付を求めます。 |
定義 |
|
QUARTER |
年度の最初の月日を指定して,それが第何四半期かを求めます。 |
定義 |
|
HALF |
年度の最初の月日を指定して,それが上期か下期かを求めます。 |
定義 |
|
CENTURY |
指定した日付の世紀を求めます。 |
定義 |
|
MONTHS_BETWEEN |
日付間の月数を,実数で求めます。 |
定義 |
|
YEARS_BETWEEN |
日付間の年数を,実数で求めます。 |
定義 |
|
日時操作関数 |
DATE_TIME |
日付データと時刻データとを連結して,時刻印の既定の文字列表現に変換します。 |
定義 |
INTERVAL_DATETIMES |
既定の文字列表現の時刻印間の,日時間隔を求めます。 |
定義 |
|
ADD_INTERVAL |
既定の文字列表現の時刻印に,日時間隔を加算します。 |
定義 |
|
検査関数 |
ISDIGITS |
文字列中のすべての文字が,数字かどうかを検査します。 |
定義 |
IS_DBLBYTES |
文字列中のすべての文字が,マルチバイト文字かどうかを検査します。 |
定義 |
|
IS_SNGLBYTES |
文字列中のすべての文字が,シングルバイト文字かどうかを検査します。 |
定義 |
|
XML型値操作関数 |
XMLQUERY |
XQueryを評価し,評価結果のXML型の値を生成します。 |
プラグイン |
XMLSERIALIZE |
XML型の値からVARCHAR型又はBINARY型の値を生成します。 |
プラグイン |
|
XMLPARSE |
XML文書からXML型の値を生成します。 |
プラグイン |
|
そのほかの関数 |
LENGTH |
値式のデータの長さを求めます。 |
組込み |
VALUE |
値式の並びの中からナル値でない最初の値式を抽出します。 |
組込み |
|
NVL |
ナル値をナル値でない値に変換します。 |
拡張定義 |
|
GREATEST |
引数中の最大値を求めます。 |
定義 |
|
LEAST |
引数中の最小値を求めます。 |
定義 |
|
BIT_AND_TEST |
指定した引数同士のビットごとの論理積を求め,結果を真偽で返します。 |
組込み |
|
CASE式 |
条件付けられた値を指定します。 CASE式については,「CASE式」を参照してください。 |
該当しません |
- (凡例)
-
組込み:システム組込みスカラ関数
定義:システム定義スカラ関数
拡張定義:拡張システム定義スカラ関数
プラグイン:プラグイン定義スカラ関数