數(shù)學(xué)函數(shù)
本文為您介紹Hologres已支持的數(shù)學(xué)函數(shù)及使用用例。
關(guān)于兼容PostgreSQL的字符串函數(shù)的詳細(xì)使用方法,請(qǐng)參見(jiàn)數(shù)學(xué)函數(shù)。
類(lèi)型 | 函數(shù) | 功能 |
通用數(shù)學(xué)函數(shù) | 計(jì)算絕對(duì)值。 | |
計(jì)算立方根。 | ||
向上取整。 | ||
向上取整。 | ||
將弧度轉(zhuǎn)換為角度。 | ||
計(jì)算指數(shù)。 | ||
向下取整。 | ||
計(jì)算自然對(duì)數(shù)。 | ||
計(jì)算常用對(duì)數(shù)。 | ||
計(jì)算表達(dá)式除以x的余數(shù)。 | ||
獲取π常量。 | ||
計(jì)算a的b次冪。 | ||
計(jì)算角度轉(zhuǎn)換為弧度。 | ||
獲取一個(gè)隨機(jī)數(shù)。 | ||
計(jì)算表達(dá)式四舍五入后的整數(shù)值或保留固定小數(shù)位數(shù)。 | ||
計(jì)算表達(dá)式的符號(hào)。 | ||
計(jì)算表達(dá)式的平方根。 | ||
去掉表達(dá)式的小數(shù)位或保留固定小數(shù)位數(shù)。 | ||
計(jì)算某個(gè)值在桶中某區(qū)間的編號(hào)。 | ||
三角函數(shù) | 計(jì)算表達(dá)式的反余弦值。 | |
計(jì)算表達(dá)式的反正弦值。 | ||
計(jì)算表達(dá)式的反正切值。 | ||
計(jì)算 | ||
計(jì)算表達(dá)式的余弦值。 | ||
計(jì)算表達(dá)式的余切值。 | ||
計(jì)算表達(dá)式的正弦值。 | ||
計(jì)算表達(dá)式的正切值。 |
通用數(shù)學(xué)函數(shù)
ABS
描述:計(jì)算絕對(duì)值。
ABS(num)
參數(shù)說(shuō)明:
num
:必填,支持類(lèi)型包括INT、BIGINT、REAL、DOUBLE PRECISION、NUMERIC和DECIMAL。返回值說(shuō)明:
與參數(shù)類(lèi)型一致。
示例:
SELECT ABS(-17.4);
返回結(jié)果如下。
abs ----- 17.4
CBRT
描述:計(jì)算立方根。
CBRT(num)
參數(shù)說(shuō)明:
num
:必填,類(lèi)型為DOUBLE PRECISION。返回值說(shuō)明:
返回值類(lèi)型為DOUBLE PRECISION。
示例:
SELECT CBRT(9);
返回結(jié)果如下。
cbrt ----------------- 2.0800838230519
CEIL
描述:向上取整。
CEIL(num)
參數(shù)說(shuō)明:
num
:必填,類(lèi)型為DOUBLE PRECISION或NUMERIC。返回值說(shuō)明:
與參數(shù)類(lèi)型一致。
示例:
SELECT CEIL(9.2);
返回結(jié)果如下。
ceil ------ 10
CEILING
描述:向上取整。
CEILING(num)
參數(shù)說(shuō)明:
num
:必填,類(lèi)型為DOUBLE PRECISION或NUMERIC。返回值說(shuō)明:
與參數(shù)類(lèi)型一致。
示例:
SELECT CEILING(9.2);
返回結(jié)果如下。
ceil ------ 10
DEGREES
描述:將弧度轉(zhuǎn)換為角度。
DEGREES(num)
參數(shù)說(shuō)明:
num
:必填,類(lèi)型為DOUBLE PRECISION。返回值說(shuō)明:
返回值類(lèi)型為DOUBLE PRECISION。
示例:
SELECT DEGREES(3.2);
返回結(jié)果如下。
degrees -------------- 183.34649444186343
EXP
描述:計(jì)算指數(shù)。
EXP(num)
參數(shù)說(shuō)明:
num
:必填,類(lèi)型為DOUBLE PRECISION或NUMERIC。返回值說(shuō)明:
與參數(shù)類(lèi)型一致。
示例:
SELECT EXP(1);
返回結(jié)果如下。
exp ---------------- 2.718281828459045
FLOOR
描述:向下取整。
FLOOR(num)
參數(shù)說(shuō)明:
num
:必填,類(lèi)型為DOUBLE PRECISION或NUMERIC。返回值說(shuō)明:
與參數(shù)類(lèi)型一致。
示例:
SELECT FLOOR(3.8);
返回結(jié)果如下。
floor ------ 3
LN
描述:計(jì)算自然對(duì)數(shù)。
LN(num)
參數(shù)說(shuō)明:
num
:必填,類(lèi)型為DOUBLE PRECISION或NUMERIC。返回值說(shuō)明:
與參數(shù)類(lèi)型一致。
示例:
SELECT LN(3.8);
返回結(jié)果如下。
ln ---------------- 1.3350010667323401
LOG
描述:計(jì)算常用對(duì)數(shù)。
LOG(num)
參數(shù)說(shuō)明:
num
:必填,類(lèi)型為DOUBLE PRECISION或NUMERIC。返回值說(shuō)明:
與參數(shù)類(lèi)型一致。
示例:
SELECT LOG(100);
返回結(jié)果如下。
log ----- 2
MOD
描述:計(jì)算表達(dá)式除以x的余數(shù)。
MOD(num, x)
參數(shù)說(shuō)明:
num
:必填,數(shù)值類(lèi)型參數(shù)。x
:必填,數(shù)值類(lèi)型參數(shù)。
返回值說(shuō)明:
與參數(shù)類(lèi)型一致。
示例:
SELECT MOD(9,4);
返回結(jié)果如下。
mod ----- 1
PI
描述:獲取π常量。
PI()
返回值說(shuō)明:
返回π常量。
示例:
SELECT PI();
返回結(jié)果如下。
pi ------------------ 3.14159265358979
POWER
描述:計(jì)算a的b次冪。
POWER(a, b)
參數(shù)說(shuō)明:
a
:必填,類(lèi)型為DOUBLE PRECISION。b
:必填,類(lèi)型為DOUBLE PRECISION。
返回值說(shuō)明:
返回值類(lèi)型為DOUBLE PRECISION。
示例:
SELECT POWER(9, 3);
返回結(jié)果如下。
power ------- 729
RADIANS
描述:角度轉(zhuǎn)換為弧度。
RADIANS(num)
參數(shù)說(shuō)明:
num:必填,類(lèi)型為DOUBLE PRECISION。
返回值說(shuō)明:
返回值類(lèi)型為DOUBLE PRECISION。
示例:
SELECT RADIANS(45);
返回結(jié)果如下。
radians ------------------- 0.785398163397448
RANDOM
描述:獲取一個(gè)隨機(jī)數(shù)。
RANDOM()
返回值說(shuō)明:
返回一個(gè)隨機(jī)數(shù),類(lèi)型為DOUBLE PRECISION,范圍為
[0.0, 1.0)
。示例:
SELECT RANDOM();
返回結(jié)果如下。
random ------------------- 0.377819478977472
ROUND
描述:
計(jì)算表達(dá)式四舍五入后的整數(shù)值。
ROUND(num)
計(jì)算表達(dá)式四舍五入后的值,且保留s位小數(shù)。
ROUND(num, s)
參數(shù)說(shuō)明:
num
:必填,數(shù)值類(lèi)型為DOUBLE PRECISION或NUMERIC。說(shuō)明如果需要精確保留小數(shù)位數(shù),建議您將表達(dá)式
num
轉(zhuǎn)換為NUMERIC類(lèi)型。否則會(huì)丟失小數(shù)位數(shù)精度。s
:選填,類(lèi)型為INT。
返回值說(shuō)明:
與參數(shù)類(lèi)型一致。
示例:
示例1:
SELECT ROUND(42.4);
返回結(jié)果如下。
round ------- 42
示例2:
SELECT ROUND(100/400::NUMERIC, 3);
返回結(jié)果如下。
round -------- 0.2500
SIGN
描述:計(jì)算表達(dá)式的符號(hào)。
SIGN(num)
參數(shù)說(shuō)明:
num:必填,類(lèi)型為DOUBLE PRECISION或NUMERIC。
返回值說(shuō)明:
參數(shù)值大于0返回1,小于0返回-1,等于0返回0。
示例:
SELECT SIGN(-8.4);
返回結(jié)果如下。
sign ------ -1
SQRT
描述:計(jì)算表達(dá)式的平方根。
SQRT(num)
參數(shù)說(shuō)明:
num:必填,類(lèi)型為DOUBLE PRECISION或NUMERIC。
返回值說(shuō)明:
與參數(shù)類(lèi)型一致。
示例:
SELECT SQRT(2);
返回結(jié)果如下。
sqrt ----------------- 1.4142135623731
TRUNC
描述:
去掉表達(dá)式的小數(shù)位。
TRUNC(num)
去掉表達(dá)式的小數(shù)位,保留小數(shù)位置到s位。
TRUNC(num, s)
參數(shù)說(shuō)明:
num
:必填,類(lèi)型為NUMERIC。s
:選填,類(lèi)型為INT。
返回值說(shuō)明:
返回值類(lèi)型為NUMERIC。
示例:
示例1:
SELECT TRUNC(2.456);
返回值如下。
trunc ------- 2
示例2:
SELECT TRUNC(2.4564, 2);
返回值如下。
trunc ------- 2.45
WIDTH_BUCKET
描述:計(jì)算某個(gè)值在桶中某區(qū)間的編號(hào)。
WIDTH_BUCKET(value, start, end, num_buckets)
參數(shù)說(shuō)明:
value
:必填,要進(jìn)行分桶的目標(biāo)值。數(shù)據(jù)類(lèi)型為DOUBLE PRECISION或NUMERIC。start
:必填,區(qū)間的起始值。數(shù)據(jù)類(lèi)型為DOUBLE PRECISION或NUMERIC。end
:必填,區(qū)間的結(jié)束值。數(shù)據(jù)類(lèi)型為DOUBLE PRECISION或NUMERIC。num_buckets
:必填,要?jiǎng)澐值耐埃▍^(qū)間)的數(shù)量。數(shù)據(jù)類(lèi)型為INT。返回值說(shuō)明:
返回值數(shù)據(jù)類(lèi)型為INT。
示例:
--范圍從0到100的數(shù)據(jù),分成5個(gè)桶,45落在(40, 60)的范圍內(nèi),第三個(gè)桶。 SELECT WIDTH_BUCKET(45, 0, 100, 5);
返回結(jié)果如下。
width_bucket -------------- 3
三角函數(shù)
ACOS
描述:計(jì)算表達(dá)式的反余弦值。
ACOS(num)
參數(shù)說(shuō)明:
num
:必填,數(shù)值類(lèi)型參數(shù)。范圍在[-1,1]
之間。返回值說(shuō)明:
返回值類(lèi)型為DOUBLE PRECISION。
示例:
SELECT ACOS(-1);
返回結(jié)果如下。
acos ------------------ 3.14159265358979
ASIN
描述:計(jì)算表達(dá)式的反正弦值。
ASIN(num)
參數(shù)說(shuō)明:
num
:必填,類(lèi)型為DOUBLE PRECISION。范圍在[-1,1]
之間。返回值說(shuō)明:
返回值類(lèi)型為DOUBLE PRECISION。
示例:
SELECT ASIN(-1);
返回結(jié)果如下。
asin ------------------ -1.5707963267949
ATAN
描述:計(jì)算表達(dá)式的反正切值。
ATAN(num)
參數(shù)說(shuō)明:
num
:必填,類(lèi)型為DOUBLE PRECISION。返回值說(shuō)明:
返回值類(lèi)型為DOUBLE PRECISION。
示例:
SELECT ATAN(2);
返回結(jié)果如下。
atan ------------------ 1.10714871779409
ATAN2
描述:計(jì)算
y/x
的反正切值。ATAN2(y, x);
參數(shù)說(shuō)明:
y
:必填,類(lèi)型為DOUBLE PRECISION。x
:必填,類(lèi)型為DOUBLE PRECISION。
返回值說(shuō)明:
返回值類(lèi)型為DOUBLE PRECISION。
示例:
SELECT ATAN2(4, 2);
返回結(jié)果如下。
atan2 ------------------ 1.10714871779409
COS
描述:計(jì)算表達(dá)式的余弦值。
COS(num)
參數(shù)說(shuō)明:
num
:必填,類(lèi)型為DOUBLE PRECISION。返回值說(shuō)明:
返回值類(lèi)型為DOUBLE PRECISION。
示例:
SELECT COS(2);
返回結(jié)果如下。
cos -------------------- -0.416146836547142
COT
描述:計(jì)算表達(dá)式的余切值。
COT(num)
參數(shù)說(shuō)明:
num
:必填,類(lèi)型為DOUBLE PRECISION。返回值說(shuō)明:
返回值類(lèi)型為DOUBLE PRECISION。
示例:
SELECT COT(2);
返回結(jié)果如下。
cot -------------------- -0.457657554360286
SIN
描述:計(jì)算表達(dá)式的正弦值。
SIN(num)
參數(shù)說(shuō)明:
num
:必填,類(lèi)型為DOUBLE PRECISION。返回值說(shuō)明:
返回值類(lèi)型為DOUBLE PRECISION。
示例:
SELECT SIN(2);
返回結(jié)果如下。
sin ------------------- 0.909297426825682
TAN
描述:計(jì)算表達(dá)式的正切值。
TAN(num)
參數(shù)說(shuō)明:
num
:必填,類(lèi)型為DOUBLE PRECISION。返回值說(shuō)明:
返回值類(lèi)型為DOUBLE PRECISION。
示例:
SELECT TAN(2);
返回結(jié)果如下。
tan ------------------- -2.18503986326152