SQL 分析機能は、データ開発に使用できる一般的な数学関数を備えています。ビジネス要件に基づいて数学関数を選択し、データを計算したり、データ型を変換したりできます。このトピックでは、開発を容易にするために、SQL 分析機能でサポートされている数学関数の構文、パラメーター、および例について説明します。
次の表に、SQL 分析機能でサポートされている数学関数を示します。
関数 | 説明 |
絶対値を計算します。 | |
逆余弦を計算します。 | |
expr1 と expr2 の逆正接を計算します。 | |
逆正弦を計算します。 | |
逆正接を計算します。 | |
数値を繰り上げて、最も近い整数を返します。 | |
ある記数法の数値を別の記数法の数値に変換します。 | |
ピアソンの相関係数を計算します。 | |
余弦を計算します。 | |
双曲線余弦を計算します。 | |
余接を計算します。 | |
ラジアン値を度に変換します。 | |
e の値を計算します。 | |
指数値を計算します。 | |
数値を繰り下げて、最も近い整数を返します。 | |
数値を指定された形式の文字列に変換します。 | |
自然対数を計算します。 | |
対数を計算します。 | |
底が 10 の数値の対数を計算します。 | |
底が 2 の数値の対数を計算します。 | |
式の負の値を返します。 | |
π の値を計算します。 | |
式の値を返します。 | |
値の n 乗を計算します。 | |
度をラジアン値に変換します。 | |
乱数を返します。 | |
指定された小数点以下の桁数に丸められた値を返します。 | |
値を指定された桁数だけ左にシフトします。 | |
値を指定された桁数だけ右にシフトします。 | |
符号なし値を指定された桁数だけ右にシフトします。 | |
入力値の符号を返します。 | |
正弦を計算します。 | |
双曲線正弦を計算します。 | |
平方根を計算します。 | |
正接を計算します。 | |
双曲線正接を計算します。 |
ABS
構文
bigint|double|decimal abs(<number>)説明
number の絶対値を計算します。
パラメーター
number: 必須。値の型は DOUBLE、BIGINT、または DECIMAL です。入力値の型が STRING の場合、計算前に値は暗黙的に DOUBLE 型の値に変換されます。
説明入力値の型が BIGINT で、BIGINT 型の最大値より大きい場合、DOUBLE 型の値が返されます。ただし、精度は失われる可能性があります。
戻り値
戻り値のデータ型は、入力パラメーターのデータ型によって異なります。戻り値は、次のルールに基づいて異なります。
number の値の型が DOUBLE、BIGINT、または DECIMAL の場合、同じ型の値が返されます。
number の値の型が STRING の場合、DOUBLE 型の値が返されます。
number の値が null の場合、null が返されます。
例
-- 値 null が返されます。
select abs(null);
-- 値 1 が返されます。
select abs(-1);
-- 値 1.2 が返されます。
select abs(-1.2);
-- 値 2.0 が返されます。
select abs("-2");
-- 値 1.2232083745629837E32 が返されます。
select abs(122320837456298376592387456923748);
-- tbl1 の id フィールドの絶対値を計算します。次の例は、SQL ステートメントで ABS 関数を呼び出す方法を示しています。ウィンドウ関数と集計関数以外の他のビルトイン関数は、同様の方法で使用されます。
select abs(id) from tbl1;ACOS
構文
double|decimal acos(<number>)説明
number の逆余弦を計算します。
パラメーター
number: 必須。値の範囲は -1 から 1 です。DOUBLE 型または DECIMAL 型の値。入力値の型が STRING または BIGINT の場合、計算前に値は暗黙的に DOUBLE 型の値に変換されます。
戻り値
戻り値のデータ型は、入力パラメーターのデータ型によって異なります。値の範囲は 0 から π です。戻り値は、次のルールに基づいて異なります。
number の値の型が DOUBLE または DECIMAL の場合、同じ型の値が返されます。
number の値の型が STRING または BIGINT の場合、DOUBLE 型の値が返されます。
number の値が -1 から 1 の範囲外の場合、null が返されます。
number の値が null の場合、null が返されます。
例
-- 値 0.5155940062460905 が返されます。
select acos("0.87");
-- 値 1.5707963267948966 が返されます。
select acos(0);
-- 値 null が返されます。
select acos(null);ATAN2
構文
double atan2(<expr1>, <expr2>)説明
expr1 と expr2 の逆正接を計算します。
パラメーター
expr1: 必須。値の型は DOUBLE です。入力値の型が STRING、BIGINT、または DECIMAL の場合、計算前に値は暗黙的に DOUBLE 型の値に変換されます。
expr2: 必須。DOUBLE 型の値。入力値の型が STRING、BIGINT、または DECIMAL の場合、計算前に値は暗黙的に DOUBLE 型の値に変換されます。
戻り値
DOUBLE 型の値が返されます。戻り値の範囲は
-π/2 から π/2です。expr1 または expr2 の値が null の場合、null が返されます。例
-- 値 0.0 が返されます。 select atan2(0, 0);
ASIN
構文
double|decimal asin(<number>)説明
number の逆正弦を計算します。
パラメーター
number: 必須。値の範囲は -1 から 1 です。DOUBLE 型または DECIMAL 型の値。入力値の型が STRING または BIGINT の場合、計算前に値は暗黙的に DOUBLE 型の値に変換されます。
戻り値
戻り値のデータ型は、入力パラメーターのデータ型によって異なります。戻り値の範囲は
-π/2 から π/2です。戻り値は、次のルールに基づいて異なります。number の値の型が DOUBLE または DECIMAL の場合、同じ型の値が返されます。
number の値の型が STRING または BIGINT の場合、DOUBLE 型の値が返されます。
number の値が -1 から 1 の範囲外の場合、null が返されます。
number の値が null の場合、null が返されます。
例
-- 値 1.5707963267948966 が返されます。
select asin(1);
-- 値 -1.5707963267948966 が返されます。
select asin(-1);
-- 値 null が返されます。
select asin(null);ATAN
構文
double atan(<number>)説明
number の逆正接を計算します。
パラメーター
number: 必須。DOUBLE 型の値。入力値の型が STRING、BIGINT、または DECIMAL の場合、計算前に値は暗黙的に DOUBLE 型の値に変換されます。
戻り値
DOUBLE 型の値が返されます。戻り値の範囲は
-π/2 から π/2です。number の値が null の場合、null が返されます。例
-- 値 0.7853981633974483 が返されます。
select atan(1);
-- 値 -0.7853981633974483 が返されます。
select atan(-1);
-- 戻り値は null です。
select atan(null);CEIL
構文
bigint ceil(<value>)説明
value を繰り上げて、最も近い整数を返します。
パラメーター
value: 必須。値の型は DOUBLE または DECIMAL です。入力値の型が STRING または BIGINT の場合、計算前に値は暗黙的に DOUBLE 型の値に変換されます。
戻り値
BIGINT 型の値が返されます。number の値が null の場合、null が返されます。
例
-- 値 2 が返されます。
select ceil(1.1);
-- 値 -1 が返されます。
select ceil(-1.1);
-- 戻り値は null です。
select ceil(null);CONV
構文
string conv(<input>, bigint <from_base>, bigint <to_base>)説明
ある記数法の数値を別の記数法の数値に変換します。
パラメーター
input: 必須。値は変換する整数で、STRING 型です。入力値の型が BIGINT または DOUBLE の場合、計算前に値は暗黙的に STRING 型の値に変換されます。
from_base と to_base: 必須。これらのパラメーターの値は 10 進数です。値は 2、8、10、または 16 にすることができます。入力値の型が STRING または DOUBLE の場合、計算前に値は暗黙的に BIGINT 型の値に変換されます。
戻り値
STRING 型の値が返されます。次のシナリオでは、値 null が返されます。
input、from_base、または to_base の値が null の場合、null が返されます。
変換プロセスは 64 ビット精度で実行されます。オーバーフローが発生した場合、null が返されます。
input の値が負の値の場合、null が返されます。 input の値が小数の場合は、記数法の変換前に整数に変換されます。小数部分は破棄されます。
例
-- 値 12 が返されます。
select conv('1100', 2, 10);
-- 値 C が返されます。
select conv('1100', 2, 16);
-- 値 171 が返されます。
select conv('ab', 16, 10);
-- 値 AB が返されます。
select conv('ab', 16, 16);
-- 戻り値は null です。
select conv('1100', null, 10);CORR
構文
double corr(<col1>, <col2>)説明
2 つのデータ列のピアソンの相関係数を計算します。
パラメーター
col1 と col2: 必須。ピアソンの相関係数を計算する 2 つの列の名前。値の型は DOUBLE、BIGINT、INT、SMALLINT、TINYINT、FLOAT、または DECIMAL です。col1 列と col2 列のデータは、異なるデータ型にすることができます。
戻り値
DOUBLE 型の値が返されます。入力列の行に null 値がある場合、その行は計算に含まれません。
COS
構文
double|decimal cos(<number>)説明
ラジアン値である number の余弦を計算します。
パラメーター
number: 必須。値の型は DOUBLE または DECIMAL です。入力値の型が STRING または BIGINT の場合、計算前に値は暗黙的に DOUBLE 型の値に変換されます。
戻り値
DOUBLE 型または DECIMAL 型の値が返されます。戻り値は、次のルールに基づいて異なります。
number の値の型が DOUBLE または DECIMAL の場合、同じ型の値が返されます。
number の型が STRING または BIGINT の場合、DOUBLE 型の値が返されます。
number の値が null の場合、null が返されます。
例
-- 値 2.6794896585028633e-8 が返されます。
select cos(3.1415926/2);
-- 値 -0.9999999999999986 が返されます。
select cos(3.1415926);
-- 戻り値は null です。
select cos(null);COSH
構文
double|decimal cosh(<number>)説明
number の双曲線余弦を計算します。
パラメーター
number: 必須。値の型は DOUBLE または DECIMAL です。入力値の型が STRING または BIGINT の場合、計算前に値は暗黙的に DOUBLE 型の値に変換されます。
戻り値
DOUBLE 型または DECIMAL 型の値が返されます。戻り値は、次のルールに基づいて異なります。
number の値の型が DOUBLE または DECIMAL の場合、同じ型の値が返されます。
number の型が STRING または BIGINT の場合、DOUBLE 型の値が返されます。
number の値が null の場合、null が返されます。
例
-- 値 2.5091784169949913 が返されます。
select cosh(3.1415926/2);
-- 戻り値は null です。
select cosh(null);COT
構文
double|decimal cot(<number>)説明
ラジアン値である number の余接を計算します。
パラメーター
number: 必須。値の型は DOUBLE または DECIMAL です。入力値の型が STRING または BIGINT の場合、計算前に値は暗黙的に DOUBLE 型の値に変換されます。
戻り値
DOUBLE 型または DECIMAL 型の値が返されます。戻り値は、次のルールに基づいて異なります。
number の値の型が DOUBLE または DECIMAL の場合、同じ型の値が返されます。
number の型が STRING または BIGINT の場合、DOUBLE 型の値が返されます。
number の値が null の場合、null が返されます。
例
-- 戻り値は 2.6794896585028643E-8 です。
select cot(3.1415926/2);
-- 戻り値は null です。
select cot(null);DEGREES
構文
double degrees(<number>)説明
この関数は、ラジアン値を度に変換します。
パラメーター
number: 必須。値の型は DOUBLE、BIGINT、INT、SMALLINT、TINYINT、FLOAT、DECIMAL、または STRING です。
戻り値
DOUBLE 型の値が返されます。number の値が null の場合、null が返されます。
例
-- 戻り値は 90.0 です。
select degrees(1.5707963267948966);
-- 戻り値は 0.0 です。
select degrees(0);
-- 戻り値は null です。
select degrees(null);E
構文
double e()説明
e の値を計算します。
戻り値
DOUBLE 型の値が返されます。
例
-- 値 2.718281828459045 が返されます。 select e();
EXP
構文
double|decimal exp(<number>)説明
number の指数値を計算します。
パラメーター
number: 必須。値の型は DOUBLE または DECIMAL です。入力値の型が STRING または BIGINT の場合、計算前に値は暗黙的に DOUBLE 型の値に変換されます。
戻り値
DOUBLE 型または DECIMAL 型の値が返されます。戻り値は、次のルールに基づいて異なります。
number の値の型が DOUBLE または DECIMAL の場合、同じ型の値が返されます。
number の型が STRING または BIGINT の場合、DOUBLE 型の値が返されます。
number の値が null の場合、null が返されます。
例
-- 値 4.810477252069109 が返されます。
select exp(3.1415926/2);
-- 戻り値は null です。
select exp(null);FLOOR
構文
bigint floor(<number>)説明
number の値を繰り下げて、 number の値以下の最も近い整数を返します。
パラメーター
number: 必須。値の型は DOUBLE または DECIMAL です。入力値の型が STRING または BIGINT の場合、計算前に値は暗黙的に DOUBLE 型の値に変換されます。
戻り値
BIGINT 型の値が返されます。number の値が null の場合、null が返されます。
例
-- 戻り値は 1 です。
select floor(1.2);
-- 戻り値は 0 です。
select floor(0.1);
-- 戻り値は -2 です。
select floor(-1.2);
-- 戻り値は -1 です。
select floor(-0.1);
-- 戻り値は 0 です。
select floor(0.0);
-- 戻り値は 0 です。
select floor(-0.0);
-- 戻り値は null です。
select floor(null);FORMAT_NUMBER
構文
string format_number(float|double|decimal <expr1>, <expr2>)説明
この関数は、数値を指定された形式の文字列に変換します。
パラメーター
expr1: 必須。このパラメーターは、指定された形式に変換する式を指定します。DOUBLE、BIGINT、INT、SMALLINT、TINYINT、FLOAT、DECIMAL、または STRING 型の値。
expr2: 必須。このパラメーターは、変換後の式の形式を指定します。パラメーターでは、保持する小数点以下の桁数を指定できます。パラメーターは、
#,###,###.##のような形式にすることもできます。
戻り値
STRING 型の値が返されます。戻り値は、次のルールに基づいて異なります。
expr2 が 0 より大きい場合、値は小数点以下の指定された桁に丸められます。
expr2 が 0 に等しい場合、値に小数点または小数部分は含まれません。
expr2 が 0 未満または 340 より大きい場合、エラーが返されます。
expr1 または expr2 の値が null の場合、null が返されます。
例
-- 値 5.230 が返されます。
select format_number(5.230134523424545456,3);
-- 値 12,332.123 が返されます。
select format_number(12332.123456, '#,###,###,###.###');
-- 戻り値は null です。
select format_number(null,3);ISNAN
構文
boolean isnan(<expr>)説明
expr の値が NaN かどうかを確認します。
パラメーター
expr: 必須。DOUBLE 型の値。入力値の型が STRING、BIGINT、または DECIMAL の場合、計算前に値は暗黙的に DOUBLE 型の値に変換されます。
戻り値
expr の値が NaN の場合、True が返されます。それ以外の場合、False が返されます。
expr の値が null の場合、False が返されます。
例
-- 値 False が返されます。 SELECT isnan(100.1);
LN
構文
double|decimal ln(<number>)説明
number の自然対数を計算します。
パラメーター
number: 必須。値の型は DOUBLE または DECIMAL です。入力値の型が STRING または BIGINT の場合、計算前に値は暗黙的に DOUBLE 型の値に変換されます。
戻り値
DOUBLE 型または DECIMAL 型の値が返されます。戻り値は、次のルールに基づいて異なります。
number の値の型が DOUBLE または DECIMAL の場合、同じ型の値が返されます。
number の値の型が STRING または BIGINT の場合、DOUBLE 型の値が返されます。
number の値が負の値または 0 の場合、null が返されます。
number の値が null の場合、null が返されます。
例
-- 値 1.144729868791239 が返されます。
select ln(3.1415926);
-- 戻り値は null です。
select ln(null);LOG
構文
double log(<base>, <x>)説明
底が base の値である x の対数を計算します。
パラメーター
base: 必須。底。値の型は DOUBLE または DECIMAL です。入力値の型が STRING または BIGINT の場合、計算前に値は暗黙的に DOUBLE 型の値に変換されます。
x: 必須。対数を計算する値。値の型は DOUBLE または DECIMAL です。入力値の型が STRING または BIGINT の場合、計算前に値は暗黙的に DOUBLE 型の値に変換されます。
戻り値
DOUBLE 型の値が返されます。戻り値は、次のルールに基づいて異なります。
base または x の値が null の場合、null が返されます。
base または x の値が負の値または 0 の場合、null が返されます。
base の値が 1 の場合、null が返されます。値 1 はゼロ除算を引き起こします。
例
-- 値 4.0 が返されます。
select log(2, 16);
-- 戻り値は null です。
select log(2, null);LOG10
構文
double log10(<number>)説明
底が 10 である number の対数を計算します。
パラメーター
number: 必須。値の型は DOUBLE、BIGINT、INT、SMALLINT、TINYINT、FLOAT、DECIMAL、または STRING です。
戻り値
DOUBLE 型の値が返されます。number の値が 0、負の値、または null の場合、null が返されます。
例
-- 戻り値は null です。
select log10(null);
-- 戻り値は null です。
select log10(0);
-- 値 0.9030899869919435 が返されます。
select log10(8);LOG2
構文
double log2(<number>)説明
底が 2 である number の対数を計算します。
パラメーター
number: 必須。値の型は DOUBLE、BIGINT、INT、SMALLINT、TINYINT、FLOAT、DECIMAL、または STRING です。
戻り値
DOUBLE 型の値が返されます。number の値が 0、負の値、または null の場合、null が返されます。
例
-- 戻り値は null です。
select log2(null);
-- 戻り値は null です。
select log2(0);
-- 値 3.0 が返されます。
select log2(8);NEGATIVE
構文
TINYINT|SMALLINT|INT|BIGINT|DOUBLE|DECIMAL negative(TINYINT|SMALLINT|INT|BIGINT|DOUBLE|DECIMAL <expr>)説明
expr の負の値を返します。
パラメーター
expr: 必須。値は、TINYINT、SMALLINT、INT、BIGINT、DOUBLE、または DECIMAL 型の式です。
戻り値
expr の負の値が返されます。
例
-- 値 1 が返されます。 SELECT negative(1);
PI
構文
double pi()説明
この関数は、π の値を計算します。
戻り値
DOUBLE 型の値が返されます。
例
-- 値 3.141592653589793 が返されます。 select pi();
POSITIVE
構文
TINYINT|SMALLINT|INT|BIGINT|DOUBLE|DECIMAL positive(TINYINT|SMALLINT|INT|BIGINT|DOUBLE|DECIMAL <expr>)説明
expr の値を返します。
パラメーター
expr: 必須。値は、TINYINT、SMALLINT、INT、BIGINT、DOUBLE、または DECIMAL 型の式です。
戻り値
expr の値が返されます。
例
-- 戻り値は 1 です。 SELECT positive(1);
POW
構文
double|decimal pow(<x>, <y>)説明
x の y 乗、つまり
x^yを計算します。パラメーター
x: 必須。値の型は DOUBLE または DECIMAL です。入力値の型が STRING または BIGINT の場合、計算前に値は暗黙的に DOUBLE 型の値に変換されます。
y: 必須。値の型は DOUBLE または DECIMAL です。入力値の型が STRING または BIGINT の場合、計算前に値は暗黙的に DOUBLE 型の値に変換されます。
戻り値
DOUBLE 型または DECIMAL 型の値が返されます。戻り値は、次のルールに基づいて異なります。
x または y の型が DOUBLE または DECIMAL の場合、同じ型の値が返されます。
x または y の型が STRING または BIGINT の場合、DOUBLE 型の値が返されます。
x または y の値が null の場合、null が返されます。
例
-- 値 65536.0 が返されます。
select pow(2, 16);
-- 戻り値は null です。
select pow(2, null);RADIANS
構文
double radians(<number>)説明
この関数は、度をラジアン値に変換します。
パラメーター
number: 必須。値の型は DOUBLE、BIGINT、INT、SMALLINT、TINYINT、FLOAT、DECIMAL、または STRING です。
戻り値
DOUBLE 型の値が返されます。number の値が null の場合、null が返されます。
例
-- 戻り値は 1.5707963267948966 です。
select radians(90);
-- 値 0.0 が返されます。
select radians(0);
-- 戻り値は null です。
select radians(null);RAND
構文
double rand(bigint <seed>)説明
DOUBLE 型の乱数を返します。値の範囲は 0 から 1 です。
パラメーター
seed: オプション。値の型は BIGINT です。このパラメーターは、乱数シーケンスの開始点を決定する乱数シードを指定します。
説明seed を使用して乱数シーケンスを決定できます。乱数シーケンスが seed によって決定されると、この関数の戻り値は固定されます。実行環境が同じで、seed 値が変更されない場合、戻り値は同じになります。異なる結果を取得するには、seed 値を変更する必要があります。
戻り値
DOUBLE 型の値が返されます。
例
-- 値 4.7147460303803655E-4 が返されます。 select rand(); -- 値 0.7308781907032909 が返されます。 select rand(1);
ROUND
構文
double|decimal round(<number>[, bigint <decimal_places>])説明
指定された小数点以下の桁数に丸められた数値を返します。
パラメーター
number: 必須。DOUBLE 型または DECIMAL 型の値。入力値の型が STRING または BIGINT の場合、計算前に値は暗黙的に DOUBLE 型の値に変換されます。
decimal_places: オプション。値は BIGINT 型の定数です。このパラメーターは、数値を丸める小数点以下の桁数を指定します。このパラメーターを設定しない場合、数値は 1 の位に丸められます。デフォルト値は 0 です。
説明decimal_places の値は負の値にすることができます。負の値は、小数点から左に数えることを示し、小数部分は除外されます。decimal_places の値が整数部分の長さを超える場合、0 が返されます。
戻り値
DOUBLE 型または DECIMAL 型の値が返されます。戻り値は、次のルールに基づいて異なります。
number の値の型が DOUBLE または DECIMAL の場合、同じ型の値が返されます。
number の値の型が STRING または BIGINT の場合、DOUBLE 型の値が返されます。
decimal_places が BIGINT 型でない場合、エラーが返されます。
number または decimal_places の値が null の場合、null が返されます。
例
-- 値 125.0 が返されます。
select round(125.315);
-- 値 125.3 が返されます。
select round(125.315, 1);
-- 値 125.32 が返されます。
select round(125.315, 2);
-- 値 125.315 が返されます。
select round(125.315, 3);
-- 値 -125.32 が返されます。
select round(-125.315, 2);
-- 値 100.0 が返されます。
select round(123.345, -2);
-- 戻り値は null です。
select round(null);
-- 値 123.345 が返されます。
select round(123.345, 4);
-- 値 0.0 が返されます。
select round(123.345, -4);SHIFTLEFT
構文
int shiftleft(tinyint|smallint|int <number1>, int <number2>) bigint shiftleft(bigint <number1>, int <number2>)説明
値を指定された桁数だけ左にシフトします (<<)。
パラメーター
number1: 必須。値の型は TINYINT、SMALLINT、INT、または BIGINT です。
number2: 必須。値の型は INT です。
戻り値
INT 型または BIGINT 型の値が返されます。戻り値は、次のルールに基づいて異なります。
number1 の値の型が TINYINT、SMALLINT、INT、または BIGINT でない場合、エラーが返されます。
number2 の値の型が INT でない場合、エラーが返されます。
number1 または number2 の値が null の場合、null が返されます。
例
-- 値 4 が返されます。次のステートメントは、1 の 2 進値を 2 桁左にシフトします (1<<2,0001 が 0100 にシフトされます)。
select shiftleft(1,2);
-- 値 32 が返されます。次のステートメントは、4 の 2 進値を 3 桁左にシフトします (4<<3,0100 が 100000 にシフトされます)。
select shiftleft(4,3);
-- 戻り値は null です。
select shiftleft(null,2);SHIFTRIGHT
構文
int shiftright(tinyint|smallint|int <number1>, int <number2>) bigint shiftright(bigint <number1>, int <number2>)説明
値を指定された桁数だけ右にシフトします (>>)。
パラメーター
number1: 必須。値の型は TINYINT、SMALLINT、INT、または BIGINT です。
number2: 必須。値の型は INT です。
戻り値
INT 型または BIGINT 型の値が返されます。戻り値は、次のルールに基づいて異なります。
number1 の値の型が TINYINT、SMALLINT、INT、または BIGINT でない場合、エラーが返されます。
number2 の値の型が INT でない場合、エラーが返されます。
number1 または number2 の値が null の場合、null が返されます。
例
-- 戻り値は 1 です。4 の 2 進値を 2 桁右にシフトします (4>>2, 1000 が 0001 にシフトされます)。
select shiftright(4,2);
-- 値 4 が返されます。次のステートメントは、32 の 2 進値を 3 桁右にシフトします (32>>3,100000 が 0100 にシフトされます)。
select shiftright(32,3);
-- 戻り値は null です。
select shiftright(null,3);SHIFTRIGHTUNSIGNED
構文
int shiftrightunsigned(tinyint|smallint|int <number1>, int <number2>) bigint shiftrightunsigned(bigint <number1>, int <number2>)説明
符号なし値を指定された桁数だけ右にシフトします (>>>)。
パラメーター
number1: 必須。値は TINYINT、SMALLINT、INT、または BIGINT 型の整数です。
number2: 必須。値は INT 型の整数です。
戻り値
INT 型または BIGINT 型の値が返されます。戻り値は、次のルールに基づいて異なります。
number1 の値の型が TINYINT、SMALLINT、INT、または BIGINT でない場合、エラーが返されます。
number2 の値の型が INT でない場合、エラーが返されます。
number1 または number2 の値が null の場合、null が返されます。
例
-- 戻り値は 2 です。次のステートメントは、8 の 2 進符号なし値を 2 桁右にシフトします (8>>>2,1000 が 0010 にシフトされます)。
select shiftrightunsigned(8,2);
-- 値 1073741820 が返されます。次のステートメントは、-14 の 2 進値を 2 桁右にシフトします (-14>>>2, 11111111 11111111 11111111 11110010 が 00111111 11111111 11111111 11111100 にシフトされます)。
select shiftrightunsigned(-14,2);
-- 戻り値は null です。
select shiftrightunsigned(-14,null);SIGN
構文
double sign(<number>)説明
入力値の符号を返します。
パラメーター
number: 必須。値の型は DOUBLE、BIGINT、INT、SMALLINT、TINYINT、FLOAT、DECIMAL、または STRING です。
戻り値
DOUBLE 型の値が返されます。戻り値は、次のルールに基づいて異なります。
number の値が正の値の場合、1.0 が返されます。
number の値が負の値の場合、-1.0 が返されます。
number の値が 0 の場合、0.0 が返されます。
number の値が null の場合、null が返されます。
例
-- 値 -1.0 が返されます。
select sign(-2.5);
-- 値 1.0 が返されます。
select sign(2.5);
-- 値 0.0 が返されます。
select sign(0);
-- 戻り値は null です。
select sign(null);SIN
構文
double|decimal sin(<number>)説明
ラジアン値である number の正弦を計算します。
パラメーター
number: 必須。値の型は DOUBLE または DECIMAL です。入力値の型が STRING または BIGINT の場合、計算前に値は暗黙的に DOUBLE 型の値に変換されます。
戻り値
DOUBLE 型または DECIMAL 型の値が返されます。戻り値は、次のルールに基づいて異なります。
number の値の型が DOUBLE または DECIMAL の場合、同じ型の値が返されます。
number の値の型が STRING または BIGINT の場合、DOUBLE 型の値が返されます。
number の値が null の場合、null が返されます。
例
-- 値 -0.3048106211022167 が返されます。
select sin(60);
-- 戻り値は null です。
select sin(null);SINH
構文
double|decimal sinh(<number>)説明
number の双曲線正弦を計算します。
パラメーター
number: 必須。値の型は DOUBLE または DECIMAL です。入力値の型が STRING または BIGINT の場合、計算前に値は暗黙的に DOUBLE 型の値に変換されます。
戻り値
DOUBLE 型または DECIMAL 型の値が返されます。戻り値は、次のルールに基づいて異なります。
number の値の型が DOUBLE または DECIMAL の場合、同じ型の値が返されます。
number の値の型が STRING または BIGINT の場合、DOUBLE 型の値が返されます。
number の値が null の場合、null が返されます。
例
-- 値 5.343237290762231E12 が返されます。
select sinh(30);
-- 戻り値は null です。
select sinh(null);SQRT
構文
double|decimal sqrt(<number>)説明
number の値の平方根を計算します。
パラメーター
number: 必須。値の型は DOUBLE または DECIMAL です。値は 0 より大きくなければなりません。値が 0 未満の場合、null が返されます。入力値の型が STRING または BIGINT の場合、計算前に値は暗黙的に DOUBLE 型の値に変換されます。
戻り値
DOUBLE 型または DECIMAL 型の値が返されます。戻り値は、次のルールに基づいて異なります。
number の値の型が DOUBLE または DECIMAL の場合、同じ型の値が返されます。
number の値の型が STRING または BIGINT の場合、DOUBLE 型の値が返されます。
number の値が null の場合、null が返されます。
例
-- 戻り値は 2.0 です。
select sqrt(4);
-- 戻り値は null です。
select sqrt(null);TAN
構文
double|decimal tan(<number>)説明
ラジアン値である number の正接を計算します。
パラメーター
number: 必須。値の型は DOUBLE または DECIMAL です。入力値の型が STRING または BIGINT の場合、計算前に値は暗黙的に DOUBLE 型の値に変換されます。
戻り値
DOUBLE 型または DECIMAL 型の値が返されます。戻り値は、次のルールに基づいて異なります。
number の値の型が DOUBLE または DECIMAL の場合、同じ型の値が返されます。
number の値の型が STRING または BIGINT の場合、DOUBLE 型の値が返されます。
number の値が null の場合、null が返されます。
例
-- 値 -6.405331196646276 が返されます。
select tan(30);
-- 戻り値は null です。
select tan(null);TANH
構文
double|decimal tanh(<number>)説明
number の双曲線正接を計算します。
パラメーター
number: 必須。値の型は DOUBLE または DECIMAL です。入力値の型が STRING または BIGINT の場合、計算前に値は暗黙的に DOUBLE 型の値に変換されます。
戻り値
DOUBLE 型または DECIMAL 型の値が返されます。戻り値は、次のルールに基づいて異なります。
number の値の型が DOUBLE または DECIMAL の場合、同じ型の値が返されます。
number の値の型が STRING または BIGINT の場合、DOUBLE 型の値が返されます。
number の値が null の場合、null が返されます。
例
-- 値 1.0 が返されます。
select tanh(30);
-- 戻り値は null です。
select tanh(null);