tencent cloud

Data Lake Compute

製品概要
プロダクト概要
製品の強み
適用シーン
購入ガイド
課金概要
返金説明
支払い期限切れ説明
設定調整費用の説明
クイックスタート
新規ユーザー開通フルプロセス
DLC データインポートガイド
DLCデータ分析の1分間入門
DLC権限管理の1分間入門
パーティションテーブル1分間入門
データ最適化をオンにする
クロスソース分析 EMR Hive データ
標準エンジン構成ガイド
操作ガイド
コンソール操作紹介
開発ガイド
実行環境
SparkJar ジョブ開発ガイド
PySparkジョブ開発ガイド
「クエリパフォーマンス最適化ガイド」
UDF 関数開発ガイド
システム制約
クライアントアクセス
JDBCアクセス
TDLC コマンドラインツールにアクセス
サードパーティソフトウェア連携
Python にアクセス
実践チュートリアル
DLC を Power BI に接続
テーブル作成の実践
Apache Airflowを使用してDLCエンジンのタスクをスケジュールして送信する
StarRocks は DLC 内部ストレージを直接クエリします
Spark の計算コスト最適化プラクティス
DATA + AI
ロールSSOを使用してDLCにアクセスする
SQL構文
SuperSQL構文
標準 Spark 構文概要
標準 Presto 構文の概要
予約語
API Documentation
History
Introduction
API Category
Making API Requests
Data Table APIs
Task APIs
Metadata APIs
Service Configuration APIs
Permission Management APIs
Database APIs
Data Source Connection APIs
Data Optimization APIs
Data Engine APIs
Resource Group for the Standard Engine APIs
Data Types
Error Codes
一般クラスリファレンス
エラーコード
クォータと制限
サードパーティソフトウェアでDLCに接続する操作ガイド
よくあるご質問
権限に関するよくあるご質問
エンジン類のよくある質問
機能に関するよくあるご質問
Sparkジョブクラスに関するよくある質問
DLC ポリシー
プライバシーポリシー
データプライバシーとセキュリティ契約
お問い合わせ

数学関数

PDF
フォーカスモード
フォントサイズ
最終更新日: 2025-12-25 12:00:07

ABS

関数構文:
ABS(<expr> integer|double|decimal)
サポートエンジン:SparkSQL、Presto
使用説明:exprの絶対値を返します
戻り型:<expr>と一致
例:
> SELECT abs(-1);
1

ACOS

関数構文:
ACOS(<expr> integer|double|decimal)
サポートエンジン:SparkSQL、Presto
使用説明:exprの逆余弦値を返します
戻り型:double
例:
> SELECT acos(1);
0.0
> SELECT acos(2);
NaN

ACOSH

関数構文:
ACOSH(<expr> integer|double|decimal)
サポートエンジン:SparkSQL、Presto
使用説明:exprの逆双曲余弦値を返します
戻り型:double
例:
> SELECT acosh(1);
0.0
> SELECT acosh(0);
NaN

ASIN

関数構文:
ASIN(<expr> integer|double|decimal)
サポートエンジン:SparkSQL、Presto
使用説明:exprの逆正弦値を返します
戻り型:double
例:
> SELECT asin(0);
0.0
> SELECT asin(2);
NaN

ASINH

関数構文:
ASINH(<expr> integer|double|decimal)
サポートエンジン:SparkSQL
使用説明:exprの逆双曲正弦値を返します
戻り型:double
例:
> SELECT asinh(0);
0.0

ATAN

関数構文:
ATAN(<expr> integer|double|decimal)
サポートエンジン:SparkSQL、Presto
使用説明:exprの逆正接値を返します
戻り型:double
例:
> SELECT atan(0);
0.0

ATAN2

関数構文:
ATAN2(<x>, integer|double|decimal, <y> integer|double|decimal)
サポートエンジン:SparkSQL、Presto
使用説明:平面の正x軸と指定された座標点間のラジアン角を返します
戻り型:double
例:
> SELECT atan2(0, 0);
0.0

ATANH

関数構文:
ATANH(<expr> integer|double|decimal)
サポートエンジン:SparkSQL、Presto
使用説明:exprの逆双曲正接値を返します
戻り型:double
例:
> SELECT atanh(0);
0.0
> SELECT atanh(2);
NaN

BIN

関数構文:
BIN(<expr> integer)
サポートエンジン:SparkSQL、Presto
使用説明:長値exprのバイナリ表現の文字列表現を返します。
戻り型:string
例:
> SELECT bin(13);
1101
> SELECT bin(-13);
1111111111111111111111111111111111111111111111111111111111110011

BROUND

関数構文:
BROUND(<expr> integer|double|decimal, <d> integer)
サポートエンジン:SparkSQL、Presto
使用説明:exprをHALF_EVEN丸めモードでd桁の小数に丸めて返します
戻り型:decimal
例:
> SELECT bround(2.5, 0);
2

CBRT

関数構文:
CBRT(<expr> integer|double|decimal)
サポートエンジン:SparkSQL、Presto
使用説明:exprの立方根を返します
戻り型:double
例:
> SELECT cbrt(27.0);
3.0

CEIL

関数構文:
CEIL(<expr> integer|double|decimal)
サポートエンジン:SparkSQL、Presto
使用説明:expr以上の最小の整数を返します
戻り型:integer
例:
> SELECT ceil(-0.1);
0
> SELECT ceil(5);
5

COS

関数構文:
COS(<expr> integer|double|decimal)
サポートエンジン:SparkSQL、Presto
使用説明:exprの余弦値を返します
戻り型:double
例:
> SELECT cos(0);
1.0

COSH

関数構文:
COSH(<expr> integer|double|decimal)
サポートエンジン:SparkSQL、Presto
使用説明:exprの双曲余弦値を返します
戻り型:double
例:
> SELECT cosh(0);
1.0

CONV

関数構文:
CONV(<num> bigint|string, <from_base> integer, <to_base> integer)
サポートエンジン:SparkSQL、Presto
使用説明:numをfrom_baseからto_baseに変換します
戻り型:string
例:
> SELECT conv('100', 2, 10);
4
> SELECT conv(-10, 16, -10);
-16

DEGREES

関数構文:
DEGREES(<expr> integer|double|decimal)
サポートエンジン:SparkSQL、Presto
使用説明:ラジアンを度に変換する
戻り型:double
例:
> SELECT degrees(3.141592653589793);
180.0

E

関数構文:
E()
サポートエンジン:SparkSQL、Presto
使用説明:オイラー定数を返します
戻り型:double
例:
> SELECT e();
2.718281828459045

EXP

関数構文:
EXP(<expr> integer|double|decimal)
サポートエンジン:SparkSQL、Presto
使用説明:オイラー定数eのexpr乗を返します
戻り型:double
例:
> SELECT exp(0);
1.0

EXPM1

関数構文:
EXPM1(<expr> integer|double|decimal)
サポートエンジン:SparkSQL
使用説明:EXP(expr)-1を返します
戻り型:double
例:
> SELECT expm1(0);
0.0

FLOOR

関数構文:
FLOOR(<expr> integer|double|decimal)
サポートエンジン:SparkSQL、Presto
使用説明:expr以下の最大の整数を返します
戻り型:integer
例:
> SELECT floor(-0.1);
-1
> SELECT floor(5);
5

FACTORIAL

関数構文:
FACTORIAL(<expr> integer)
サポートエンジン:SparkSQL、Presto
使用説明:exprの階乗を返します。exprは[0..20]の範囲です。それ以外の場合はNULLを返します。
戻り型:bigint
例:
> SELECT factorial(5);
120

HEX

関数構文:
HEX(<expr> bigint|string)
サポートエンジン:SparkSQL、Presto
使用説明:exprを16進数で返します
戻り型:string
例:
> SELECT hex(17);
11
> SELECT hex('Spark SQL');
537061726B2053514C

HYPOT

関数構文:
HYPOT(<expr1> integer|double|decimal, <expr2> integer|double|decimal)
サポートエンジン:SparkSQL、Presto
使用説明:sqrt(pow(expr1, 2) + pow(expr2, 2))を返します
戻り値の型:double
例:
> SELECT hypot(3, 4);
5.0

LOG

関数構文:
LOG(<base> integer|double|decimal, <expr> integer|double|decimal)
サポートエンジン:SparkSQL、Presto
使用説明:exprのbaseを底とする対数を返します。
戻り値の型:double
例:
> SELECT log(10, 100);
2.0

LOG10

関数構文:
LOG10(<expr> integer|double|decimal)
サポートエンジン:SparkSQL、Presto
使用説明:exprの10を底とする対数を返します。
戻り値の型:double
例:
> SELECT log10(10);
1.0

LOG1P

関数構文:
LOG1P(<expr> integer|double|decimal)
サポートエンジン:SparkSQL、Presto
使用説明:log(1 + expr)を返します
戻り値の型:double
例:
> SELECT log1p(0);
0.0

LOG2

関数構文:
LOG2(<expr> integer|double|decimal)
サポートエンジン:SparkSQL、Presto
使用説明:exprの2を底とする対数を返します。
戻り値の型:double
例:
> SELECT log2(2);
1.0

LN

関数構文:
LN(<expr> integer|double|decimal)
サポートエンジン:SparkSQL、Presto
使用説明:exprの自然対数(eを底とする)を返します。
戻り値の型:double
例:
> SELECT ln(1);
0.0

MOD

関数構文:
MOD(<expr1> integer|double|decimal, <expr2> integer|double|decimal)
<expr1> MOD <expr2>
サポートエンジン:SparkSQL、Presto
使用説明:expr1/expr2の余りを返します。
戻り型:double|integer
例:
> SELECT 2 % 1.8;
0.2
> SELECT MOD(2, 1.8);
0.2

NEGATIVE

関数構文:
NEGATIVE(<expr> integer|double|decimal)
サポートエンジン:SparkSQL、Presto
使用説明:exprの負数を返します
戻り型:exprと一致
例:
> SELECT negative(1);
-1

PI

関数構文:
PI()
サポートエンジン:SparkSQL、Presto
使用説明:PIを返す
戻り値の型:double
例:
> SELECT pi();
3.141592653589793

PMOD

関数構文:
PMOD(<expr1> integer|double|decimal, <expr2> integer|double|decimal)
サポートエンジン:SparkSQL、Presto
使用説明:expr1 mod expr2の正の値を返します
戻り値の型:double
例:
> SELECT pmod(10, 3);
1
> SELECT pmod(-10, 3);
2

POSITIVE

関数構文:
POSITIVE(<expr> integer|double|decimal)
サポートエンジン:SparkSQL、Presto
使用説明:exprを返します
戻り型:exprと一致
例:
> SELECT positive(1);
1

POWER

関数構文:
POWER(<base> integer|double|decimal, <number> integer|double|decimal)
サポートエンジン:SparkSQL、Presto
使用説明:baseのnumber乗を返します。
戻り値の型:double
例:
> SELECT power(2, 3);
8.0

POW

関数構文:
POW(<base> integer|double|decimal, <number> integer|double|decimal)
サポートエンジン:SparkSQL、Presto
使用説明:baseのnumber乗を返します
戻り型:double
例:
> SELECT pow(2, 3);
8.0

RADIANS

関数構文:
RADIANS(<expr> integer|double|decimal)
サポートエンジン:SparkSQL、Presto
使用説明:度をラジアンに変換する
戻り型:double
例:
> SELECT radians(180);
3.141592653589793

RINT

関数構文:
RINT(<expr> integer|double|decimal)
サポートエンジン:SparkSQL、Presto
使用説明:パラメータ値に最も近く、数学的な整数に等しい倍精度値を返します
戻り型:double
例:
> SELECT rint(12.3456);
12.0

ROUND

関数構文:
ROUND(<expr> integer|double|decimal, <d> integer)
サポートエンジン:SparkSQL、Presto
使用説明:exprを半切り上げモードでd桁の小数に丸めます。
戻り型:double
例:
> SELECT round(2.5, 0);
3

SHIFTLEFT

関数構文:
SHIFTLEFT(<base> integer|double|decimal, <expr> integer)
サポートエンジン:SparkSQL、Presto
使用説明:ビット単位で左にシフトします。
戻り型:int |bigint
例:
> SELECT shiftleft(2, 1);
4

SHIFTRIGHT

関数構文:
SHIFTRIGHT(<base> integer|double|decimal, <expr> integer)
サポートエンジン:SparkSQL、Presto
使用説明:ビット単位で右にシフトします。
戻り型:int |bigint
例:
> SELECT shiftright(4, 1);
2

SHIFTRIGHTUNSIGNED

関数構文:
SHIFTRIGHTUNSIGNED(<base> integer|double|decimal, <expr> integer)
サポートエンジン:SparkSQL、Presto
使用説明:ビット単位で符号なし右シフトします。
戻り型:int |bigint
例:
> SELECT shiftrightunsigned(4, 1);
2

SIGN

関数構文:
SIGN(<expr> integer|double|decimal)
サポートエンジン:SparkSQL、Presto
使用説明:exprが負、0、または正の場合、それぞれ-1.0、0.0、または1.0を返します。
戻り型:double
例:
> SELECT sign(40);
1.0

SIGNUM

関数構文:
SIGNUM(<expr> integer|double|decimal)
サポートエンジン:SparkSQL、Presto
使用説明:exprが負、0、または正の場合、それぞれ-1.0、0.0、または1.0を返します。
戻り型:double
例:
> SELECT signum(40);
1.0

SIN

関数構文:
SIN(<expr> integer|double|decimal)
サポートエンジン:SparkSQL、Presto
使用説明:exprの正弦値を返します
戻り型:double
例:
> SELECT sin(0);
0.0

SINH

関数構文:
SINH(<expr> integer|double|decimal)
サポートエンジン:SparkSQL、Presto
使用説明:exprの双曲正弦値を返します
戻り型:double
例:
> SELECT sinh(0);
0.0

SQRT

関数構文:
SQRT(<expr> integer|double|decimal)
サポートエンジン:SparkSQL、Presto
使用説明:exprの平方根を返します
戻り型:double
例:
> SELECT sqrt(4);
2.0

TAN

関数構文:
TAN(<expr> integer|double|decimal)
サポートエンジン:SparkSQL、Presto
使用説明:exprの正接値を返します
戻り値の型:double
例:
> SELECT tan(0);
0.0

COT

関数構文:
COT(<expr> integer|double|decimal)
サポートエンジン:SparkSQL、Presto
使用説明:式の余接を返します
戻り値の型:double
例:
> SELECT cot(1);
0.6420926159343306

TANH

関数構文:
TANH(<expr> integer|double|decimal)
サポートエンジン:SparkSQL、Presto
使用説明:exprの双曲正接値を返します
戻り値の型:double
例:
> SELECT tanh(0);
0.0

WIDTH_BUCKET

関数構文:
WIDTH_BUCKET(<value> integer|double|decimal, <min> integer|double|decimal, <max> integer|double|decimal, <num_backet> integer)
サポートエンジン:SparkSQL、Presto
使用説明:minからmaxをnum_backet個のグループに等分割し、valueが属するグループ番号を返します
戻り型:integer
例:
> SELECT width_bucket(5.3, 0.2, 10.6, 5);
3
> SELECT width_bucket(-2.1, 1.3, 3.4, 3);
0
> SELECT width_bucket(8.1, 0.0, 5.7, 4);
5
> SELECT width_bucket(-0.9, 5.2, 0.5, 2);
3

TRY_ADD

関数構文:
TRY_ADD(<expr1> integer|double|decimal|date|timestamp, <expr2> integer|double|decimal|date|timestamp)
サポートエンジン:SparkSQL、Presto
使用説明:expr1とexpr2の合計を返します。オーバーフロー時は結果がnullになります。
戻り型:integer|double|decimal|date|timestamp
例:
> SELECT try_add(1, 2);
3
> SELECT try_add(2147483647, 1);
NULL
> SELECT try_add(date'2021-01-01', 1);
2021-01-02

TRY_DIVIDE

関数構文:
TRY_DIVIDE(<dividend> integer|double|decimal, <divisor> integer|double|decimal)
サポートエンジン:SparkSQL、Presto
使用説明:dividend/divisorを返します
戻り値の型:double
例:
> SELECT try_divide(3, 2);
1.5
> SELECT try_divide(2L, 2L);
1.0
> SELECT try_divide(1, 0);
NULL

RAND

関数構文:
RAND([<seed> integer])
サポートエンジン:SparkSQL、Presto
使用説明:[0,1]の範囲で独立かつ均一に分布するランダムな値を返します。
戻り値の型:double
例:
> SELECT rand();
0.9629742951434543
> SELECT rand(0);
0.7604953758285915
> SELECT rand(null);
0.7604953758285915

RANDOM

関数構文:
RANDOM([<seed> integer])
サポートエンジン:SparkSQL、Presto
使用説明:[0,1]の範囲で独立かつ均一に分布するランダムな値を返します。
戻り値の型:double
例:
> SELECT rand();
0.9629742951434543
> SELECT rand(0);
0.7604953758285915
> SELECT rand(null);
0.7604953758285915

RANDN

関数構文:
RANDN([<seed> integer])
サポートエンジン:SparkSQL、Presto
使用説明:標準正規分布から抽出された独立かつ同一分布(i.i.d.)の値を含むランダム値を返します。この関数はSPARKSQLとPRESTOで実装方法が異なるため、同じseedを使用しても異なる結果が得られる場合があります。
戻り値の型:double
例:
> SELECT randn();
-0.3254147983080288
> SELECT randn(0);
1.6034991609278433
> SELECT randn(null);
1.6034991609278433

DIV

関数構文:
<expr1> DIV <expr2>
サポートエンジン:SparkSQL
使用説明:expr1をexpr2で割ります。
戻り型:integer
例:
> SELECT 3 div 2;
1


ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック