関数(パイプライン)リファレンス
次の関数は、パイプラインの式演算子およびデシジョン演算子とともに使用されます。
関数 | 説明 | 例 |
---|---|---|
ABS(numeric) | numeric 値の絶対乗を返します。 | ABS(-1) |
CEIL(numeric) | numeric 値を超えない最小の整数を返します | CEIL(-1,2) |
EXP(numeric) |
eをnumeric の累乗で返します。定数eは、自然対数の底である2.71828182845904 に等しくなります。 |
EXP(2) |
FLOOR(numeric) | numeric 値を超えない最大の整数を返します。 | FLOOR(-1,2) |
MOD(numeric1, numeric2) | numeric1 をnumeric2 で除算した後の剰余を返します。 | MOD(8,2) |
POW(numeric1, numeric2) | numeric1 をnumeric2 で累乗します。 | POW(2,3) |
ROUND(numeric1, numeric2) | numeric1 を小数点以下numeric2 桁に丸めて返します。 | ROUND(2.5,0) |
TRUNC(numeric1, numeric2) | numeric1 を小数点以下numeric2 桁に切り捨てて返します。 | TRUNC(2.5,0) |
TO_NUMBER(expr[, format, locale]) | 指定されたformat およびlocale (オプション)に基づいて、expr を数値に変換します。デフォルトのロケールはen-US です。サポートされる言語タグ。サポートされるフォーマット・パターン:
|
|
FORMAT_NUMBER(value, format) |
指定された値の書式設定された表現を返します。 |
|
関数 | 説明 | 例 |
---|---|---|
NULLIF(value, value) | 2つの値が等しい場合はnullを返し、それ以外の場合は最初の値を返します。 | NULLIF('ABC','XYZ') はABC を返します |
ISNULL(value) |
null値をチェックします。 | ISNULL('ABC') はfalse を返します |
ISNOTNULL(value) |
nullでない値をチェックします。 | ISNOTNULL('ABC') はtrue を返します |
関数 | 説明 | 例 |
---|---|---|
CURRENT_DATE | 現在の日付を返します。 | CURRENT_DATE は、本日の日付を返します |
CURRENT_TIMESTAMP | セッション・タイム・ゾーンでのタイム・ゾーン付きの現在の日付と時刻を返します。 | CURRENT_TIMESTAMP は、本日の日付と現在時刻を返します |
DATE_ADD(date, number) | 指定したdate からnumber 日後の日付を返します。 | DATE_ADD('2017-07-30', 1) は2017-07-31 を返します |
DATE_SUB(date, number) |
指定したdate のnumber 日前の日付を戻します。 |
DATE_SUB('2017-07-30', 1) は2017-07-29 を返します |
DATE_FORMAT(expr, format[, locale]) | 指定されたformat およびlocale (オプション)に基づいて、日付のexpr をフォーマットします。デフォルトのロケールはen-US です。サポートされる言語タグ。パイプライン式では、 |
最初の引数は、2020年10月13日を表すDateオブジェクトです。
|
WEEKOFYEAR(date) |
日付が年内の何番目の週かを返します。 |
|
TO_DATE(string, format_string[, localeStr]) | format_string 式を含む文字列式を日付に解析します。ロケールはオプションです。デフォルトはen-US です。サポートされる言語タグ。パイプライン式では、 |
フォーマット・コードの例:
|
TO_TIMESTAMP(expr, format_string[, localeStr]) | 指定されたformat_string およびlocaleStr (オプション)に基づいて、VARCHARのexpr をTIMESTAMPの値に変換します。パイプライン式では、 | TO_TIMESTAMP('2020-10-10 11:10:10', '%A %d-%m-%Y, %H:%M:%S') は、Saturday 10-10-2020, 11:10:10 を表すTIMESTAMPオブジェクトを返します |
MONTHS_BETWEEN(start_date_expr, end_date_expr) |
整数が返されるのは、両方の日付の日の部分が同じ場合、または両方が月の最終日の場合です。それ以外の場合は、1か月を31日として差が計算されます。 |
|
関数 | 説明 | 例 |
---|---|---|
TO_MAP(string,column[,string,column]*) | Map型の新しい列を作成します。入力列は、キーと値のペアとしてグループ化する必要があります。入力キー列をNULLにすることはできません。すべて同じデータ型である必要があります。入力値列はすべて同じデータ型である必要があります。 |
|
TO_STRUCT(string,column[,string,column]*) | Struct型の新しい列を作成します。入力列は、キーと値のペアとしてグループ化する必要があります。 |
|
TO_ARRAY(column[,column]*) | Array型の新しい列を作成します。入力列はすべて同じデータ型である必要があります。 |
|
関数 | 説明 | 例 |
---|---|---|
AND | 論理AND演算子。両方のオペランドがtrueの場合はtrueを返し、それ以外の場合はfalseを返します。 | (x = 10 AND y = 20)は、xが10でyが20の場合、trueを返します。いずれか一方がtrueでない場合は、falseを返します |
OR | 論理OR演算子。いずれかのオペランドがtrueであるか、両方ともtrueである場合はtrueを返し、それ以外の場合はfalseを返します。 | (x = 10 OR y = 20)は、xが10ではなく、かつyが20でない場合、falseを返します。いずれか一方がtrueの場合は、trueを返します |
NOT | 論理NOT演算子。 | |
IN |
式が値リストと一致するかどうかをテストします。 | FILTER_2.ORDERS.ORDER_ID IN (1003, 1007) |
= | 等価かどうかをテストします。expr1がexpr2と等しい場合はtrueを返し、それ以外の場合はfalseを返します。 | x = 10は、xの値が10の場合はtrueを返し、それ以外の場合はfalseを返します |
> | 式の大なりをテストします。expr1がexpr2より大きい場合は、trueを返します。 | x > 10は、xの値が10より大きい場合はtrueを返し、それ以外の場合はfalseを返します |
>= | 式の大なりイコールをテストします。expr1がexpr2以上の場合は、trueを返します。 | x > =10は、xの値が10以上の場合はtrueを返し、それ以外の場合はfalseを返します |
< | 式の小なりをテストします。expr1がexpr2より小さい場合は、trueを返します。 | x < 10は、xの値が10より小さい場合はtrueを返し、それ以外の場合はfalseを返します |
<= | 式の小なりイコールをテストします。expr1がexpr2以下の場合は、trueを返します。 | x <= 10は、xの値が10より小さい場合はtrueを返し、それ以外の場合はfalseを返します |
関数 | 説明 | 例 |
---|---|---|
CAST(value AS type) | 指定されたタイプの指定された値を返します。 | CAST("10" AS INT) は10 を返します |
CONCAT(string, string) | 文字列または列を結合した値を返します | CONCAT('Oracle','SQL') はOracleSQL を返します |
LOWER(string) | すべての文字を小文字に変更して文字列を返します。 | LOWER('ORACLE') はoracle を返します |
LENGTH(string) | 文字列の文字長またはバイナリ・データのバイト数を返します。文字列の長さには末尾のスペースも含まれます。 | LENGTH('Oracle') は6 を返します |
LTRIM(string) | 先頭のスペースを左から除去して文字列を返します。 | LTRIM(' Oracle') |
REGEXP_EXTRACT(string, regexp[, RegexGroupIdx]) | 正規表現に一致するグループを抽出します。 | REGEXP_EXTRACT('22;33;44', '([0-9.]*);([0-9.]*);([0-9.]*)', 1) は22 を返します |
REGEXP_SUBSTR(string, regexp[, RegexGroupIdx]) |
入力文字列から正規表現パターンに一致する文字列を検索して抽出します。オプションのキャプチャ・グループ索引が指定されている場合、この関数は特定のグループを抽出します。 |
REGEXP_SUBSTR('22;33;44', '([0-9.]*);([0-9.]*);([0-9.]*)', 1) は22 を返します |
REGEXP_REPLACE(string, regexp, rep]) |
正規表現と一致する文字列のすべての部分文字列をrepに置き換えます。 | |
REPLACE(string, search, replacement) | 出現するすべてのsearch をreplacement に置換します。文字列に
|
|
RTRIM(string) | 先頭のスペースを右から除去して文字列を返します。 | RTRIM('Oracle ') |
SUBSTRING(string, start_position[, substring_length]) | 指定されたstart_position からsubstring_length の長さで始まる部分文字列をstring から返します。オフセット位置の番号付けは0で始まります。 | SUBSTRING('Hello Oracle', 6, 6) 戻り値 Oracle |
TO_CHAR(expr[, format_string]) | フォーマットに基づいて日付を文字列に変換します。数値を文字列に変換します。フォーマットは必要ありません。 パイプライン式では、 |
最初の引数は、2020年10月30日を表すDateオブジェクトです。 |
TRIM(string) |
先頭の空白文字が削除された文字列を返します。 | TRIM(' ORACLE ') は ORACLE を返します |
UPPER(string) | すべての文字を大文字に変更して文字列を返します。 | UPPER('oracle') はORACLE を返します |
json_path(json_string, json_filter_path) |
JSON構造から値を抽出します。 | CAST(json_path(SYS.RESPONSE_PAYLOAD, '$.key') AS String) は、RESPONSE_PAYLOAD のフィールド"key"の文字列値を返します |