共通関数 A-C D-G H-L M-Q R-Z 三角関数
SQL-99 スカラー関数 abs ( 数値 ) <数値> の絶対値を返します。負の値は正の値として返されます。 例: abs ( 15 ) 結果:15 例: abs ( -15 ) 結果:15 bit_length bit_length ( 文字列 ) "<文字列>" のビット数を返します。 cast ( 式 , データ型指定 ) <式> を指定したデータ型に変換します。データ型によっては、データ長や精度を指定する必要があります。ターゲットのデータ・タイプやサイズが適切であることを確認してください。<データ型> には、character、varchar、char、numeric、decimal、integer、bigint、smallint、real、float、date、time、timestamp、time with time zone、timestamp with time zone、interval のいずれかを使用できます。データ型を interval に変換する場合、間隔を表す次のいずれかの修飾子を指定する必要があります。year、month、または year to month (年数~月数による間隔のデータ型の場合)。day、hour、minute、second、day to hour、day to minute、day to second、hour to minute、hour to second、または minute to second (日数~秒数による間隔のデータ型の場合)。注: タイム・スタンプ型のデータを日付型に変換する場合、タイム・スタンプ値の時刻部分は無視されます。タイム・スタンプ型のデータを時刻型に変換する場合、タイム・スタンプ値の日付部分は無視されます。日付型のデータをタイム・スタンプ型に変換する場合、タイム・スタンプ値の時刻部分は 0 になります。時刻型のデータをタイム・スタンプ型に変換する場合、日付部分は現在のシステム日付になります。間隔のデータ型を別のものに変換することはできません。これは、例えば、1 カ月の日数は月によって異なるためです。桁数を指定できるのは先頭の修飾子のみです。例えば、「YEAR(4) TO MONTH」や「DAY(5)」などのようになります。ターゲットのデータ・タイプやサイズがソースのデータ・タイプやサイズと互換性がない場合、エラーが通知されます。 例: cast ( '123' , integer ) 結果: 123 例: cast ( 12345 , varchar ( 10 ) ) 結果:12345 を含む文字列 char_length ( <文字列> ) <文字列> の論理文字数を返します。論理文字数は、一部の東アジアのロケールでは、バイト数とは異なることがあります。 例: char_length ( 'Canada' ) 結果: 6 character_length ( <文字列> ) 「文字列」の文字数を返します。 例: character_length ( 'Canada' ) 結果: 6 current_date  current_date  データベース・ソフトウェアを実行しているコンピューターの現在の日付を表す、日付値を返します。 例: current_date 結果:2003-03-04 current_time  current_time  データベースでこの機能がサポートされている場合には、データベース・ソフトウェアを実行しているコンピューターの現在の時刻を表す、タイムゾーンを含む時刻値を返します。サポートされていない場合は、IBM® Cognos® BI Software が実行されているコンピューターの現在の時刻を表します。 例: current_time 結果: 16:33:11.354+05:00 current_timestamp  current_timestamp  データベースでこの関数がサポートされていれば、データベース・ソフトウェアを実行しているコンピューターの現在の時刻を表す、タイムゾーンを含む日時値を返します。サポートされていない場合は、IBM® Cognos® BI Software が実行されているコンピューターの現在の時刻を表します。 例: current_timestamp 結果: 2003-03-03 16:40:15.535+05:00 localtime  localtime  データベース・ソフトウェアを実行しているコンピューターの現在の時刻を表す、時刻値を返します。 例: localtime 結果: 16:33:11 localtimestamp  localtimestamp  データベース・ソフトウェアを実行しているコンピューターの現在のタイム・スタンプを表す、日時値を返します。 例: localtimestamp 結果: 2003-03-03 16:40:15 となります。 extract ( <日付要素> , <日付時刻> ) "<日付時刻>" の日付の部分 (year、month、day、hour、minute、second、epoch) の値を示す整数を返します。 例: extract ( year , 2003-03-03 16:40:15.535 ) 結果: 2003 例: extract ( hour , 2003-03-03 16:40:15.535 ) 結果: 16 例: extract ( epoch , 2014-11-23 ) 結果: 1416718800 lower ( <文字列> ) 「文字列」のすべての大文字を小文字にして返します。 例: lower ( 'ABCDEF' ) 結果:abcdef mod ( <整数 1>, <整数 2> ) <整数 1> を <整数 2> で除算した余りを返します。「整数 2」に 0 を指定すると、エラーになります。 例: mod ( 20 , 3 ) 結果: 2 occurrences_regex ( regex_expression , string_expression [ , integer_expression [ , flags_expression ]] ) 「string_expression」中の正規表現「regex_expression」の出現回数を表す整数値を返します。 検索は「integer_expression」の位置から始まります。このデフォルト値は 1 です。正規表現の解釈のオプションを設定するためのフラグは「flags_expression」で指定します。 フラグの定義には個別の英文字を使用します。有効な値は「s」、「m」、「i」、および「x」です。 例: occurrences_regex ( '.er' , 'Flicker Lantern') 結果: 2 octet_length ( <文字列> ) 「文字列」のバイト数を返します。 例: octet_length ( 'ABCDEF' ) 結果: 6 例: octet_length ( '' ) 結果: 0 position ( <文字列 1> , <文字列 2> ) 「文字列 2」における「文字列 1」の開始位置を示す整数値を返します。「文字列 1」が見つからない場合は 0 を返します。 例: position ( 'C' , 'ABCDEF' ) 結果: 3 例: position ( 'H' , 'ABCDEF' ) 結果: 0 position_regex ([ start|after ]  regex_expression , string_expression [ , integer_expression1 [ , integer_expression2 [ , flags_expression ]]] ) 正規表現「regex_expression」と一致する「string_expression」中の部分的な文字列の先頭または末尾の位置を表す整数値を返します。 検索は「integer_expression1」の位置から始まります。このデフォルト値は 1 です。検索するパターンの出現箇所を「integer_expression2」で指定します。このデフォルト値は 1 です。最初の引数で指定する戻りオプションは、この出現箇所を基準として返すものを指定します。 「start」を指定すると、出現箇所の最初の文字の位置が返されます。 「after」を指定すると、出現箇所の後の文字の位置が返されます。 戻りオプションを指定しない場合、暗黙的に「start」になります。 正規表現の解釈のオプションを設定するためのフラグは、「flags_expression」で指定します。 フラグの定義には個別の英文字を使用します。有効な値は「s」、「m」、「i」、および「x」です。 例: position_regex ( '.er' , 'Flicker Lantern') 結果: 5 例: position_regex ( after '.er' , 'Flicker Lantern' ) 結果: 8 例: position_regex ( '.er' , 'Flicker Lantern' , 1 , 2 ) 結果: 12 trim ( [ [ trailing|leading|both ] [ <対象文字> ] , ] <文字列> ) <文字列> から、先行ブランクや末尾ブランク、または <対象文字> で指定された文字を削除して返します。最初の引数が宣言されていない場合は both が、2 番目の引数が宣言されていない場合は空白が、それぞれ引数として暗示的に使用されます。 例: trim ( trailing 'A' , 'ABCDEFA' ) 結果:ABCDEF 例: trim ( both , ' ABCDEF ' ) 結果:ABCDEF upper ( <文字列> ) 「文字列」のすべての小文字を大文字にして返します。 例: upper ( 'abcdef' ) 結果:ABCDEF user user 実行時のデータベース・マネージャーへのアクセスに使用する承認 ID を返します。 nullif nullif ( 式 1, 式 2 ) 「式 1」と「式 2」が等しい場合は Null を、等しくない場合は「式 1」を返します。 coalesce ( <式リスト> ) Null でない最初の引数を返します。引数がすべて Null である場合は、Null が返されます。「式リスト」には 2 つ以上の引数が必要です。 coalesce ( [単価], [単位特価] ) 結果: 単価を返し、単価が Null の場合は単位特価を返します。 coalesce ( <式リスト> ) Null でない最初の引数を返します。引数がすべて Null である場合は、Null が返されます。「式リスト」には 1 つ以上の引数が必要です。 coalesce ( [単価], [単位特価] ) 結果: 単価を返し、単価が Null の場合は単位特価を返します。 ceil ( <数値> ) 「数値」以上で最小の整数を返します。 ceiling ( <数値> ) 「数値」以上で最小の整数を返します。 例: ceiling ( 4.22 ) 結果: 5 例: ceiling ( -1.23 ) 結果: -1 ln ( <数値> ) 「数値」の自然対数を返します。 例: ln ( 4 ) 結果: 1.38629 exp ( <数値> ) 'e' を <数値> 乗した値を返します。定数 e は自然対数の底です。 例: exp ( 2 ) 結果: 7.389056 period ( datetime_expression1 , datetime_expression2 ) 開始点に「datetime_expression1」、終点に「datetime_expression2」を使用して期間の値を構成します。 開始点と終点のデータ型は同一である必要があり、date、time、または dateTime のいずれかを使用できます。 期間の述部には期間値を使用できます。 例: period ( 2003-03-03 , 2003-10-03 ) 例: period ( 12:00:00 , 23:59:59 ) 例: period ( 2003-03-03 12:00:00 , 2003-10-03 23:59:59 ) 例: period ( [EMP].[BUS_START] , [EMP].[BUS_END] ) power ( <数値 1> , <数値 2> ) <数値 1> を <数値 2> 乗した値を返します。「数値 1」が負の値の場合は、「数値 2」は整数でなければなりません。 例: power ( 3 , 2 ) 結果: 9 random ( [ 整数 ] ) オプションの「整数」をシード値として使用して、0 から 1 の間のランダムな浮動小数点の値を返します。 _round ( <数値> , <整数> ) <数値> を小数点から右に <整数> 桁の位置で四捨五入した値を返します。注: <整数> に負の整数を使用することはできません。四捨五入は、データの書式設定が適用される前に行われます。 例: _round ( 1220.42369, 2 ) 結果: 1220.42 行のコンストラクターは、データ行として編成されている値のコレクションを表します。これは 条件式 (i.e. IF-THEN-ELSE) およびフィルター式 (i.e. IN clause) で使用できます。 row ( <式リスト> ) 例: if ( row([小売業者名],[発注方法コード]) = row('ActiForme',4) ) then ('A') else ('B') 結果: 小売業者名が 'ActiForme' で、発注方法コードが 4 の場合、'A' を返します。それ以外の場合、値 'B' を返します。 例: case row([小売業者名],[発注方法コード]) when row('Advanced Climbing Ltd',3) then 1 when row('ActiForme',5) then 2 else 3 end 結果: 小売業者名が 'Advanced Climbing Ltd' で、発注方法コードが 3 の場合、1 を返します。小売業者名が 'ActiForme' で、発注方法コードが 5 の場合、2 を返します。それ以外の場合、値 3 を返します。 例: row ( [発注方法コード], [年] ) in ( [クエリー].[発注方法コード], [クエリー].[年] ) 結果: 返されたデータは以下の 2 つの条件でフィルターにかけられます。 1) [発注方法コード] in ([クエリー].[発注方法コード]) 2) [年] in (クエリー].[年]) sqrt ( <数値> ) <数値> の平方根を返します。「数値」に負の値を指定することはできません。 例: sqrt ( 9 ) 結果: 3 substring ( <文字列> , <整数 1> , <整数 2> ] ) <整数 1> の位置で始まり、文字数が <整数 2> の <文字列> の部分文字列を返します。<整数 2> を省略した場合は、<文字列> の最後までが返されます。「文字列」の最初の文字の位置が 1 になります。 例: substring ( 'abcdefg' , 3 , 2 ) 結果:cd substring_regex ( regex_expression , string_expression [ , integer_expression1 [ , integer_expression2 [ , flags_expression ]]] ) 正規表現「regex_expression」と一致する「string_expression」中の部分的な文字列を返します。 検索は「integer_expression1」の位置から始まります。このデフォルト値は 1 です。検索するパターンの出現箇所を「integer_expression2」で指定します。このデフォルト値は 1 です。 正規表現の解釈のオプションを設定するためのフラグは「flags_expression」で指定します。 フラグの定義には個別の英文字を使用します。有効な値は「s」、「m」、「i」、および「x」です。 例: substring_regex ( '.er' , 'Flicker Lantern') 結果: ker 例: substring_regex ( '.er' , 'Flicker Lantern' , 1 , 2 ) 結果: ter floor ( <数値> ) 「数値」以下で、最大の整数を返します。 例: floor ( 3.22 ) 結果: 3 例: floor ( -1.23 ) 結果: -2 width-bucket ( <数値> ,  <最小値> ,  <最大値> ,  num_of_buckets ) 与えられた式について、この関数はこの式の値が評価後にとるバケット数を返します。 例: width-bucket ( Quantity ,  100 ,  5000 ,  10 ) 結果: 各行に対し、現在の「数量」値に対するバケット数 (0 から 11) を返します。 Quantity width-bucket (Quantity) ------------ ------------------------------------- 50 0 450 1 1400 3 3600 8 4900 10 5000 11 sin ( <数値> ) この三角関数は、引数のサイン (正弦) を戻します。引数はラジアン単位の角度です。 例: sin ( 0.1667 * 3.1415 ) 結果: 0.5 cos ( <数値> ) この三角関数は、引数のコサイン (余弦) を戻します。引数はラジアン単位の角度です。 例: cos ( 0.3333 * 3.1415 ) 結果: 0.5 tan ( <数値> ) この三角関数は、引数のタンジェント (正接) を戻します。引数はラジアン単位の角度です。 例: tan ( 0.25 * 3.1415 ) 結果: 1 arccos ( <数値> ) この逆三角関数は、引数のアークコサイン (逆余弦) を戻します。引数の範囲は -1 から 1 までで、結果はラジアン単位の値です。 例: arccos ( -1 ) 結果: 3.1415 arcsin ( <数値> ) この逆三角関数は、引数のアークサイン (逆正弦) を戻します。引数の範囲は -1 から 1 までで、結果はラジアン単位の値です。 例: arcsin ( 0 ) 結果: 3.1415 この逆三角関数は、引数のアークタンジェント (逆正接) を戻します。引数の範囲は -1 から 1 までで、結果はラジアン単位の値です。 arctan ( <数値> ) 例: arctan ( 0 ) 結果: 3.1415 coshyp ( <数値> ) この三角関数は、引数の双曲線コサイン (余弦) を戻します。引数はラジアン単位の角度です。 例: coshyp ( 0 ) 結果: 1 sinhyp ( <数値> ) この三角関数は、引数の双曲線サイン (正弦) を戻します。引数はラジアン単位の角度です。 例: sinhyp ( 0 ) 結果: 0 tanhyp ( <数値> ) この三角関数は、引数の双曲線タンジェント (正接) を戻します。引数はラジアン単位の角度です。 例: tanhyp ( 0 ) 結果: 0
SQL-99 OLAP 拡張 cube cube ( <グループ化列の参照リスト> ) これは 'group by' 句で、"<グループ化列の参照リスト>" のグループ化列のすべての可能な組み合わせのグループ化セットを含む、グループ化セット・リストを生成します。 rollup rollup ( <グループ化列の参照リスト> ) これは 'group by' 句で、右側から 1 つずつ要素を除外することによって、"<グループ化列の参照リスト>" のすべての適切なサブリストのグループ・セットを含む、グループ・セット・リストを生成します。 grouping sets grouping sets ( <グループ・セット・リスト> ) これは 'group by' 句で、グループ化に使用する複数のセットを指定します。 rank rank () ウィンドウ・パーティション内で行のランクを計算します。行 x のランクは、1 + 「x を超える行の数 (等しい行は含まない)」で定義されます。 dense_rank dense_rank () ウィンドウ・パーティション内で行のランク (ランク値が飛ばないもの) を計算します。行 x のランク (ランク値が飛ばないもの) は、「x を超える行と x に等しい行の数」で定義されます。 percent_rank percent_rank () ウィンドウ・パーティション内でパーセントによるランクを計算します。行 x のパーセントによるランクは、「(xy - 1) / (ab - 1)」で定義されます。xy は x のランク、ab はウィンドウ・パーティション内の行の数です。 row_number row_number () ウィンドウ・パーティション内の行に対し、続き番号による行番号を計算します。1 行目が 1 になります。 ntile ntile ( <数値> ) 順番の付いたデータ・セットを "<数値>" 個のバケットに分割し、各行に適切なバケット番号を割り当てます。