ApachePresto-SQL関数
今のところ、Prestoでいくつかの簡単な基本クエリを実行することについて話し合っていました。この章では、重要なSQL関数について説明します。
数学関数
数学関数は数式を操作します。次の表に、機能のリストを詳しく説明します。
S.No. | 機能と説明 |
---|---|
1.1。 | abs(x) の絶対値を返します x |
2.2。 | cbrt(x) の立方根を返します x |
3.3。 | 天井(x) を返します x 最も近い整数に切り上げられた値 |
4.4。 | ceil(x) 天井(x)のエイリアス |
5.5。 | 度(x) の度数を返します x |
6.6。 | e(x) オイラーの数のdouble値を返します |
7。 | exp(x) オイラーの数の指数値を返します |
8.8。 | 床(x) 戻り値 x 最も近い整数に切り捨てられます |
9.9。 | from_base(string,radix) 基数として解釈される文字列の値を返します |
10.10。 | ln(x) の自然対数を返します x |
11.11。 | log2(x) の底2の対数を返します x |
12.12。 | log10(x) の10を底とする対数を返します x |
13.13。 | log(x,y) ベースを返します y の対数 x |
14.14。 | mod(n、m) のモジュラス(剰余)を返します n で割った m |
15.15。 | pi() 円周率の値を返します。結果はdouble値として返されます |
16.16。 | power(x、p) 値の累乗を返します ‘p’ に x 値 |
17.17。 | pow(x,p) power(x、p)のエイリアス |
18.18。 | ラジアン(x) 角度を変換します x 度ラジアン |
19。 | rand() ラジアン()のエイリアス |
20。 | ランダム() 疑似乱数値を返します |
21。 | rand(n) random()のエイリアス |
22。 | round(x) xの丸められた値を返します |
23。 | round(x,d) x の丸め値 ‘d’ 小数位 |
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 | 機能と説明 |
---|---|
1.1。 | acos(x) 逆コサイン値(x)を返します |
2.2。 | asin(x) 逆正弦値(x)を返します |
3.3。 | atan(x) 逆タンジェント値(x)を返します |
4.4。 | atan2(y、x) 逆タンジェント値(y / x)を返します |
5.5。 | cos(x) コサイン値(x)を返します |
6.6。 | cosh(x) 双曲線余弦値(x)を返します |
7。 | sin(x) サイン値(x)を返します |
8.8。 | tan(x) タンジェント値(x)を返します |
9.9。 | tanh(x) 双曲線タンジェント値(x)を返します |
ビットごとの関数
次の表に、ビット単位の関数を示します。
S.No | 機能と説明 |
---|---|
1.1。 | bit_count(x、ビット) ビット数を数える |
2.2。 | bitwise_and(x、y) 2ビットに対してビット単位のAND演算を実行します。 x そして y |
3.3。 | bitwise_or(x、y) 2ビット間のビットごとのOR演算 x, y |
4.4。 | bitwise_not(x) ビット単位のビット演算ではありません x |
5.5。 | bitwise_xor(x、y) ビットのXOR演算 x, y |
文字列関数
次の表に、文字列関数を示します。
S.No | 機能と説明 |
---|---|
1.1。 | concat(string1、...、stringN) 指定された文字列を連結します |
2.2。 | 長さ(文字列) 指定された文字列の長さを返します |
3.3。 | lower(文字列) 文字列の小文字の形式を返します |
4.4。 | アッパー(文字列) 指定された文字列の大文字の形式を返します |
5.5。 | lpad(文字列、サイズ、パッド文字列) 指定された文字列の左パディング |
6.6。 | ltrim(文字列) 文字列から先頭の空白を削除します |
7。 | replace(文字列、検索、置換) 文字列値を置き換えます |
8.8。 | リバース(文字列) 文字列に対して実行された操作を逆にします |
9.9。 | rpad(文字列、サイズ、パッド文字列) 指定された文字列の右パディング |
10.10。 | rtrim(文字列) 文字列から末尾の空白を削除します |
11.11。 | split(文字列、区切り文字) 区切り文字で文字列を分割し、最大のサイズの配列を返します |
12.12。 | split_part(文字列、区切り文字、インデックス) 区切り文字で文字列を分割し、フィールドインデックスを返します |
13.13。 | strpos(文字列、部分文字列) 文字列内の部分文字列の開始位置を返します |
14.14。 | substr(string、start) 指定された文字列の部分文字列を返します |
15.15。 | substr(文字列、開始、長さ) 特定の長さの指定された文字列の部分文字列を返します |
16.16。 | トリム(文字列) 文字列から先頭と末尾の空白を削除します |
日付と時刻の関数
次の表に、日付と時刻の関数を示します。
S.No | 機能と説明 |
---|---|
1.1。 | 現在の日付 現在の日付を返します |
2.2。 | 現在の時刻 現在の時刻を返します |
3.3。 | current_timestamp 現在のタイムスタンプを返します |
4.4。 | current_timezone() 現在のタイムゾーンを返します |
5.5。 | now() 現在の日付、タイムスタンプとタイムゾーンを返します |
6.6。 | 現地時間 現地時間を返します |
7。 | localtimestamp ローカルタイムスタンプを返します |
正規表現関数
次の表に、正規表現関数を示します。
S.No | 機能と説明 |
---|---|
1.1。 | regexp_extract_all(string、pattern) パターンの正規表現と一致する文字列を返します |
2.2。 | regexp_extract_all(文字列、パターン、グループ) パターンとグループの正規表現に一致する文字列を返します |
3.3。 | regexp_extract(string、pattern) パターンの正規表現と一致する最初の部分文字列を返します |
4.4。 | regexp_extract(string、pattern、group) パターンとグループの正規表現に一致する最初の部分文字列を返します |
5.5。 | regexp_like(string、pattern) パターンに一致する文字列を返します。文字列が返される場合、値はtrueになり、それ以外の場合はfalseになります。 |
6.6。 | regexp_replace(string、pattern) 式に一致する文字列のインスタンスをパターンに置き換えます |
7。 | regexp_replace(文字列、パターン、置換) 式に一致する文字列のインスタンスをパターンに置き換えて置き換えます |
8.8。 | regexp_split(string、pattern) 指定されたパターンの正規表現を分割します |
JSON関数
次の表に、JSON関数を示します。
S.No | 機能と説明 |
---|---|
1.1。 | json_array_contains(json、value) 値がjson配列に存在することを確認してください。値が存在する場合はtrueを返し、存在しない場合はfalseを返します。 |
2.2。 | json_array_get(json_array、index) json配列のインデックスの要素を取得します |
3.3。 | json_array_length(json) json配列で長さを返します |
4.4。 | json_format(json) json構造形式を返します |
5.5。 | json_parse(string) 文字列をjsonとして解析します |
6.6。 | json_size(json、json_path) 値のサイズを返します |
URL関数
次の表に、URL関数を示します。
S.No | 機能と説明 |
---|---|
1.1。 | url_extract_host(url) URLのホストを返します |
2.2。 | url_extract_path(url) URLのパスを返します |
3.3。 | url_extract_port(url) URLのポートを返します |
4.4。 | url_extract_protocol(url) URLのプロトコルを返します |
5.5。 | url_extract_query(url) URLのクエリ文字列を返します |
集計関数
次の表に、集計関数を示します。
S.No | 機能と説明 |
---|---|
1.1。 | avg(x) 指定された値の平均を返します |
2.2。 | min(x、n) 2つの値から最小値を返します |
3.3。 | max(x、n) 2つの値から最大値を返します |
4.4。 | sum(x) 値の合計を返します |
5.5。 | カウント(*) 入力行の数を返します |
6.6。 | count(x) 入力値の数を返します |
7。 | チェックサム(x) のチェックサムを返します x |
8.8。 | 任意(x) の任意の値を返します x |
色関数
次の表に、カラー関数を示します。
S.No | 機能と説明 |
---|---|
1.1。 | bar(x、width) rgblow_colorとhigh_colorを使用して単一のバーをレンダリングします |
2.2。 | bar(x、width、low_color、high_color) 指定された幅で単一のバーをレンダリングします |
3.3。 | 色(文字列) 入力した文字列の色の値を返します |
4.4。 | render(x、color) ANSIカラーコードを使用して特定の色を使用して値xをレンダリングします |
5.5。 | render(b) ブール値bを受け入れ、ANSIカラーコードを使用して緑をtrueまたは赤をfalseにレンダリングします |
6.6。 | rgb(red, green, blue) 0から255の範囲のintパラメーターとして提供される3つのコンポーネントカラー値のRGB値をキャプチャするカラー値を返します |
配列関数
次の表に、配列関数を示します。
S.No | 機能と説明 |
---|---|
1.1。 | array_max(x) 配列内の最大要素を検索します |
2.2。 | array_min(x) 配列内の最小要素を検索します |
3.3。 | array_sort(x) 配列内の要素を並べ替えます |
4.4。 | array_remove(x、element) 配列から特定の要素を削除します |
5.5。 | concat(x、y) 2つの配列を連結します |
6.6。 | contains(x、element) 配列内の指定された要素を検索します。存在する場合はtrueが返され、存在しない場合はfalseが返されます。 |
7。 | array_position(x、element) 配列内の指定された要素の位置を見つけます |
8.8。 | array_intersect(x、y) 2つの配列間の共通部分を実行します |
9.9。 | element_at(array、index) 配列要素の位置を返します |
10.10。 | スライス(x、開始、長さ) 特定の長さで配列要素をスライスします |
Teradata関数
次の表に、Teradata関数を示します。
S.No | 機能と説明 |
---|---|
1.1。 | index(string、substring) 指定された部分文字列を持つ文字列のインデックスを返します |
2.2。 | substring(string、start) 指定された文字列の部分文字列を返します。ここで開始インデックスを指定できます |
3.3。 | substring(string、start、length) 文字列の特定の開始インデックスと長さに対して、指定された文字列の部分文字列を返します |