Apache-presto-sql-functions

提供:Dev Guides
移動先:案内検索

Apache Presto-SQL関数

今のところ、Prestoでいくつかの簡単な基本クエリを実行することについて議論していました。 この章では、重要なSQL関数について説明します。

数学関数

数学関数は数式で動作します。 次の表で、関数のリストを詳細に説明します。

S.No. Function & Description
1.

abs(x)

  • x* の絶対値を返します
2.

cbrt(x)

  • x* の立方根を返します
3.

ceiling(x)

最も近い整数に切り上げられた x 値を返します

4.

ceil(x)

ceiling(x)のエイリアス

5.

degrees(x)

  • x* の次数値を返します
6.

e(x)

オイラーの数値のdouble値を返します

7.

exp(x)

オイラー数の指数値を返します

8.

floor(x)

  • x* を最も近い整数に切り捨てて返します
9.

from_base(string,radix)

基数として解釈される文字列の値を返します

10.

ln(x)

  • x* の自然対数を返します
11.

log2(x)

  • x* の2を底とする対数を返します
12.

log10(x)

  • x* の10を底とする対数を返します
13.

log(x,y)

  • x* の *y* 対数を返します
14.

mod(n,m)

  • n* を *m* で除算したモジュラス(剰余)を返します
15.

pi()

pi値を返します。 結果はdouble値として返されます

16.

power(x,p)

値の累乗 ‘p’x 値に戻します

17.

pow(x,p)

power(x、p)のエイリアス

18.

radians(x)

角度 x を度ラジアンに変換します

19.

rand()

ラジアンのエイリアス()

20.

random()

擬似乱数値を返します

21.

rand(n)

random()のエイリアス

22.

round(x)

xの丸められた値を返します

23.

round(x,d)

  • *小数点以下を丸めた *x
24.

sign(x)

xの符号関数を返します。つまり、

引数が0の場合は0

引数が0より大きい場合は1

引数が0より小さい場合は-1

二重引数の場合、関数はさらに返します-

引数がNaNの場合はNaN

引数が+ Infinityの場合は1

引数が-Infinityの場合、-1

25.

sqrt(x)

  • x* の平方根を返します
26.

to_base(x,radix)

戻りタイプはアーチャーです。 結果は x の基数として返されます

27.

truncate(x)

  • x* の値を切り捨てます
28.

width_bucket(x, bound1, bound2, n)

  • x* 指定されたbound1およびbound2の境界のビン番号とn個のバケットを返します。
29.

width_bucket(x, bins)

配列ビンで指定されたビンに従って x のビン番号を返します

三角関数

三角関数の引数はradians()として表されます。 次の表に関数を示します。

S.No Functions & Description
1.

acos(x)

逆コサイン値(x)を返します

2.

asin(x)

逆正弦値(x)を返します

3.

atan(x)

逆正接値(x)を返します

4.

atan2(y,x)

逆正接値(y/x)を返します

5.

cos(x)

コサイン値(x)を返します

6.

cosh(x)

双曲線余弦値(x)を返します

7.

sin(x)

サイン値(x)を返します

8.

tan(x)

タンジェント値(x)を返します

9.

tanh(x)

双曲線正接値(x)を返します

ビット単位関数

次の表に、ビットごとの関数を示します。

S.No Functions & Description
1.

bit_count(x, bits)

ビット数を数える

2.

bitwise_and(x,y)

2ビット、 x および y に対してビット単位のAND演算を実行します

3.

bitwise_or(x,y)

2ビットのビットごとのOR演算 x、y

4.

bitwise_not(x)

ビット x のビットごとの非演算

5.

bitwise_xor(x,y)

ビット x、y のXOR演算

文字列関数

次の表に、文字列関数を示します。

S.No Functions & Description
1.

concat(string1, …​, stringN)

指定された文字列を連結します

2.

length(string)

指定された文字列の長さを返します

3.

lower(string)

文字列の小文字形式を返します

4.

upper(string)

指定された文字列の大文字形式を返します

5.

lpad(string, size, padstring)

指定された文字列の左パディング

6.

ltrim(string)

文字列から先頭の空白を削除します

7.

replace(string, search, replace)

文字列値を置き換えます

8.

reverse(string)

文字列に対して実行された操作を元に戻します

9.

rpad(string, size, padstring)

指定された文字列の右パディング

10.

rtrim(string)

文字列から末尾の空白を削除します

11.

split(string, delimiter)

区切り文字で文字列を分割し、最大限度のサイズの配列を返します

12.

split_part(string, delimiter, index)

区切り文字で文字列を分割し、フィールドインデックスを返します

13.

strpos(string, substring)

文字列内の部分文字列の開始位置を返します

14.

substr(string, start)

指定された文字列の部分文字列を返します

15.

substr(string, start, length)

指定された文字列の特定の長さの部分文字列を返します

16.

trim(string)

文字列から先頭と末尾の空白を削除します

日付と時刻の関数

次の表に、日付と時刻の関数を示します。

S.No Functions & Description
1.

current_date

現在の日付を返します

2.

current_time

現在の時刻を返します

3.

current_timestamp

現在のタイムスタンプを返します

4.

current_timezone()

現在のタイムゾーンを返します

5.

now()

現在の日付、タイムスタンプ付きのタイムスタンプを返します

6.

localtime

現地時間を返します

7.

localtimestamp

ローカルタイムスタンプを返します

正規表現関数

次の表に、正規表現関数をリストします。

S.No Functions & Description
1.

regexp_extract_all(string, pattern)

パターンの正規表現に一致する文字列を返します

2.

regexp_extract_all(string, pattern, group)

パターンとグループの正規表現に一致する文字列を返します

3.

regexp_extract(string, pattern)

パターンの正規表現に一致する最初の部分文字列を返します

4.

regexp_extract(string, pattern, group)

パターンとグループの正規表現に一致する最初の部分文字列を返します

5.

regexp_like(string, pattern)

パターンに一致する文字列を返します。 文字列が返される場合、値はtrueになり、そうでない場合はfalse

6.

regexp_replace(string, pattern)

式に一致する文字列のインスタンスをパターンに置き換えます

7.

regexp_replace(string, pattern, replacement)

式に一致する文字列のインスタンスをパターンと置換に置き換えます

8.

regexp_split(string, pattern)

指定されたパターンの正規表現を分割します

JSON関数

次の表に、JSON関数を示します。

S.No Functions & Description
1.

json_array_contains(json, value)

値がjson配列に存在することを確認してください。 値が存在する場合はtrueを返し、そうでない場合はfalseを返します

2.

json_array_get(json_array, index)

JSON配列のインデックスの要素を取得します

3.

json_array_length(json)

JSON配列の長さを返します

4.

json_format(json)

JSON構造形式を返します

5.

json_parse(string)

文字列をJSONとして解析します

6.

json_size(json, json_path)

値のサイズを返します

URL関数

次の表に、URL関数をリストします。

S.No Functions & Description
1.

url_extract_host(url)

URLのホストを返します

2.

url_extract_path(url)

URLのパスを返します

3.

url_extract_port(url)

URLのポートを返します

4.

url_extract_protocol(url)

URLのプロトコルを返します

5.

url_extract_query(url)

URLのクエリ文字列を返します

集約関数

次の表に、集計関数を示します。

S.No Functions & Description
1.

avg(x)

指定された値の平均を返します

2.

min(x,n)

2つの値から最小値を返します

3.

max(x,n)

2つの値から最大値を返します

4.

sum(x)

値の合計を返します

5.

count(AST)

入力行の数を返します

6.

count(x)

入力値の数を返します

7.

checksum(x)

  • x* のチェックサムを返します
8.

arbitrary(x)

  • x* の任意の値を返します

カラー関数

次の表に、カラー関数を示します。

S.No Functions & Description
1.

bar(x, width)

rgb low_colorおよびhigh_colorを使用して単一のバーをレンダリングします

2.

bar(x, width, low_color, high_color)

指定された幅で単一のバーをレンダリングします

3.

color(string)

入力された文字列の色の値を返します

4.

render(x, color)

ANSIカラーコードを使用して特定の色を使用して値xをレンダリングします

5.

render(b)

ブール値bを受け入れ、ANSIカラーコードを使用して緑のtrueまたは赤のfalseをレンダリングします

6.

rgb(red, green, blue)

0から255の範囲のintパラメーターとして提供される3つのコンポーネントカラー値のRGB値をキャプチャするカラー値を返します

配列関数

次の表に、配列関数をリストします。

S.No Functions & Description
1.

array_max(x)

配列内の最大要素を見つけます

2.

array_min(x)

配列内の最小要素を見つけます

3.

array_sort(x)

配列内の要素を並べ替えます

4.

array_remove(x,element)

配列から特定の要素を削除します

5.

concat(x,y)

2つの配列を連結します

6.

contains(x,element)

配列内の指定された要素を検索します。 存在する場合はtrue、そうでない場合はfalseが返されます

7.

array_position(x,element)

配列内の指定された要素の位置を見つける

8.

array_intersect(x,y)

2つの配列間の交差を実行します

9.

element_at(array,index)

配列要素の位置を返します

10.

slice(x,start,length)

特定の長さで配列要素をスライスします

Teradata関数

次の表に、Teradataの関数を示します。

S.No Functions & Description
1.

index(string,substring)

指定された部分文字列を持つ文字列のインデックスを返します

2.

substring(string,start)

指定された文字列の部分文字列を返します。 ここで開始インデックスを指定できます

3.

substring(string,start,length)

特定の開始インデックスと文字列の長さに対して、指定された文字列の部分文字列を返します