# 數值函式
-- 數字格式化 將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是天花板的意...