Mysql常用函式 數值函式

2021-08-20 20:50:00 字數 2516 閱讀 1111

#  數值函式

-- 數字格式化 將number x設定為格式 '#,###,###.##',

-- 以四捨五入的方式保留到小數點後d位, 而返回結果為乙個字串。

select format(25123.265,2); -- 25,123.27

-- 向上取整

-- ceiling(x) ceil(x) 返回不小於x 的最小整數值。

select ceiling(1.23); -- 2

select ceiling(1.99); -- 2

select ceiling(-1.23); -- -1

select ceiling(-1.99); -- -1

select ceil(1.23); -- 2

select ceil(1.99); -- 2

select ceil(-1.23); -- -1

select ceil(-1.99); -- -1

-- 向下取整

-- floor(x) 返回不大於x的最大整數值 。

select floor(1.23); -- 1

select floor(1.99); -- 1

select floor(-1.23); -- -2

select floor(-1.99); -- -2

-- 取模

-- mod(n,m) , n % m n mod m 返回n 被 m除后的餘數。

select mod(235,10); --5

-- 常量值

select pi(); -- 3.141593

-- 隨機函式

-- rand() rand(n)

-- 返回乙個隨機浮點值 v ,範圍在 0 到1 之間 (即, 其範圍為 0 ≤ v ≤ 1.0)。

-- 若已指定乙個整數引數 n ,則它被用作種子值,用來產生重複序列。

select rand(); -- 隨機值

select rand(2); -- 定值 無論執行多少遍都是一樣的值

select rand(3); -- 定值 無論執行多少遍都是一樣的值

select floor(7 + (rand() * 6));

select * from ms_nick order by rand();

-- 將結果隨機排列

-- 注意,在where語句中,where每執行一次, rand()就會被再計算一次。

select * from ms_nick where user_id >2

order by rand() ;

select *, rand() as r from ms_nick where user_id >2

order by r desc ;

select *, round(rand(),2)as r from ms_nick where user_id >2

order by r desc ;

-- 四捨五入函式

-- round(x) round(x,d)

-- 返回引數x, 其值接近於最近似的整數。

-- 在有兩個引數的情況下,返回 x ,其值保留到小數點後d位,而第d位的保留方式為四捨五入。

-- 若要接保留x值小數點左邊的d 位,可將 d 設為負值。

select round(-1.23); -- -1

select round(-1.58); -- -2

select round(1.58); -- 2

select round(1.298, 1); -- 1.3

select round(1.298, 0); -- 1

select round(23.298, -1); -- 20

-- 關於精度問題

select round(2.5), round(25e-1); -- 3 2

-- 見第二十四章 精度問題

-- sign(x)

-- 返回引數作為-1、 0或1的符號,該符號取決於x 的值為負、零或正。

select sign(-2); -- -1

select sign(0); -- 0

select sign(2); -- 1

-- 數字擷取函式

-- truncate(x,d)

-- 返回被捨去至小數點後d位的數字x。若d 的值為 0, 則結果不帶有小數點或不帶有小數部分。

-- 可以將d設為負數,若要截去(歸零) x小數點左起第d位開始後面所有低位的值.

select truncate(1.233,1); -- 1.3

select truncate(1.9565,1); -- 1.9

select truncate(1.988,0); -- 1

select truncate(-1.998,1); -- -1.9

select truncate(1224,-2); -- 1200

select truncate(10.24*100,0); -- 1024

單行函式(數值函式)

單行函式指的是完成某一具體功能的操作函式,例如 轉大寫,或改變日期格式 單行函式的格式 返回值 函式名稱 引數 單行函式格式可以分為以下幾種 字串函式 數值函式 日期函式 字串函式主要處理字串資料 對於字串的資料可能從列上找的的,或者是直接設定的字串常量 no 函式名稱 描述 1 字串upper 列...

Oracle函式 數值函式

1 abs n 函式 返回數字的絕對值 select abs 7 from dual 結果 7 2 sign x 函式 檢測x的正負.如果x 0返回 1.如果x 0返回0.如果x 0返回1.select sign 7 from dual 結果 1 3 ceil n 函式 返回大於或等於n的最小的整數...

oracle函式 數值函式

一 數值函式 1.mod m,n 求餘函式 注意 若m或者n為null,則返回null。若n為0,則返回m的值 2.round m n 四捨五入 若n沒有傳值,預設為0,相當於取整。若n 0,則四捨五入到小數點後n位。若n 0,則四捨五入到小數點前n位。3.ceil n 上取整 ceil是天花板的意...