pgsql 數學函式及操作

2021-06-22 08:41:04 字數 3693 閱讀 9755

postgresql 8.1 中文文件

prev

fast backward

chapter 9. 函式和操作符

fast forward

next

postgresql 為許多態別提供了數學操作符。 對於那些在所有可能的組合中都沒有一般的數學傳統的型別 (比如,日期/時間型別),我們在隨後的章節裡描述實際的行為。

table 9-2 顯示了可用的數學操作符。

table 9-2. 數學操作符

操作符描述例子結果+

加2 + 35-

減2 - 3-1*

乘2 * 36/

除 (整數除法將截斷結果)

4 / 22%

模除 (求餘)

5 % 41^

冪(指數運算)

2.0 ^ 3.08|/

平方根|/ 25.0

5||/

立方根||/ 27.03!

階乘5 !

120!!

階乘 (字首作符)

!! 5

120@

絕對值@ -5.05&

二進位制 and

91 & 1511|

二進位制 or

32 | 335#

二進位制 xor

17 # 520~

二進位制 not

~1-2

<<

二進位制左移

1 << 4

16>>

二進位制右移

8 >> 22

按位操作操作符只能用於整數資料型別,而其它的操作符可以用於全部數值資料型別。 按位操作的操作符還可以用於位串型別 bit 和 bit varying, 如 table 9-10 所示。

table 9-3 顯示了可用的數學函式。 在該表中,dp 表示double precision。 這些函式中有許多都有多種不同的形式,區別是引數不同。 除非特別指明,任何特定形式的函式都返回和它的引數相同的資料型別。 處理 double precision 資料的函式大多數是在 宿主系統的 c 庫的基礎上實現的;因此,準確度和 數值範圍方面的行為是根據宿主系統而變化的。

table 9-3. 數學函式

函式返回型別

描述例子

結果abs(x

)(和x

型別相同)

絕對值abs(-17.4)

17.4

cbrt(dp)

dp立方根

cbrt(27.0)

3ceil(dp 或者 numeric)

與輸入相同

不小於引數的最小的整數

ceil(-42.8)

-42ceiling(dp or numeric)

(與輸入相同)

不小於引數的最小整數(ceil 的別名)

ceiling(-95.3)

-95degrees(dp)

dp把弧度轉為角度

degrees(0.5)

28.6478897565412

exp(dp 或 numeric)

與輸入相同

自然指數

exp(1.0)

2.71828182845905

floor(dp 或 numeric)

與輸入相同

不大於引數的最大整數

floor(-42.8)

-43ln(dp 或 numeric)

與輸入相同

自然對數

ln(2.0)

0.693147180559945

log(dp 或 numeric)

與輸入相同

10 為底的對數

log(100.0)

2log(b

numeric, x

numeric)

numeric

指定底數的對數

log(2.0, 64.0)

6.0000000000

mod(y, x)

(和引數型別相同)

除法 y/x 的餘數(模)

mod(9,4)

1pi()

dp"π" 常量

pi()

3.14159265358979

power(a

dp, b

dp)dp

求a的 b 次冪

power(9.0, 3.0)

729power(a

numeric, b

numeric)

numeric

求a的 b 次冪

power(9.0, 3.0)

729radians(dp)

dp把角度轉為弧度

radians(45.0)

0.785398163397448

random()

dp0.0 到 1.0 之間的隨機數值

random()

round(dp 或者 numeric)

(與輸入相同)

圓整為最接近的整數

round(42.4)

42round(v

numeric, s

int)

numeric

圓整為s位小數數字

round(42.4382, 2)

42.44

setseed(dp)

int為隨後的 random() 呼叫設定種子

setseed(0.54823)

1177314959

sign(dp 或者 numeric)

(和輸入相同)

引數的符號(-1, 0, +1)

sign(-8.4)

-1sqrt(dp 或者 numeric)

(和輸入相同)

平方根sqrt(2.0)

1.4142135623731

trunc(dp 或者 numeric)

(和輸入相同)

截斷(向零靠近)

trunc(42.8)

42trunc(v

numeric, s

int)

numeric

截斷為 s 小數字置的數字

trunc(42.4382, 2)

42.43

width_bucket(op

numeric, b1

numeric, b2

numeric, count

in)int

返回乙個桶,這個桶是在乙個有 count 個桶, 上界為 b1,下界為 b2 的等深柱圖中 operand 將被賦予的那個桶。

width_bucket(5.35, 0.024, 10.06, 5)3

最後,table 9-4 顯示了可用的三角函式。 所有三角函式都有型別為 double precision 的引數和返回型別。

table 9-4. 三角函式

函式描述acos(x

)反余弦

asin(x

)反正弦

atan(x

)反正切

atan2(x

, y)

正切 y

/x 的反函式

cos(x)余弦

cot(x)餘切

sin(x)正弦

tan(x)正切

prev

home

next

比較操作符

up字串函式和操作符

PGSQL時間函式

中文用法 pgsql官方文件 1.獲取系統時間函式 select now 2012 05 12 18 51 59.562 08 select current timestamp 2012 05 12 18 52 12.062 08 select current date 2012 05 12 sel...

mysql 數學操作函式

絕對值,圓周率 select abs 1 3 pi 平方根,求餘 select sqrt 9 mod 9,5 獲取整數的函式 select ceil 12.145 ceiling 12.145 floor 12.545 獲取隨機數 select rand 10,rand 1 mysql取得某一範圍隨...

mysql 函式操作 mysql 數學操作函式

絕對值,圓周率 select abs 1 3 pi 平方根,求餘 select sqrt 9 mod 9,5 獲取整數的函式 select ceil 12.145 ceiling 12.145 floor 12.545 獲取隨機數 select rand 10,rand 1 mysql取得某一範圍隨...