1. 數字函式
abs 取絕對值 power 乘方 ln 10為底數取0
sqrt 平方根 exp e的n次乘方 log(m,n) m為底數n取0
數**算函式:acos atan atan2 cos cosh sign sin sinh tan tanh
ceil 大於或等於取整數
floor 小於或等於取整數
mod 取餘數
round(n,m) 按m的位數取四捨五入值如果round(日期): 中午12以後將是明天的日期.
round(sysdate,'y')是年的第一天
trunc(n,m) 按m的位數取小數點後的數值如果trunc(日期), 確省的是去掉時間
2. 字元函式
chr 按資料庫的字符集由數字返回字元
concat(c1,c2) 把兩個字元c1,c2組合成乙個字元, 和 || 相同
replace(c,s,r) 把字元c裡出現s的字元替換成r, 返回新字元
substr(c,m,n) m大於0,字元c從前面m處開始取n位字元,m等於0和1一樣,
m小與0,字元c從後面m處開始取n位字元
translate(c,f1,t1) 字元c按f1到t1的規則轉換成新的字串
initcap 字元首字母大寫,其它字元小寫
lower 字元全部小寫
upper 字元全部大寫
ltrim(c1,c2) 去掉字元c1左邊出現的字元c2
rtrim(c1,c2)
trim(c1,c2) 去掉字元c1左右兩邊的字元c2
lpad(c1,n,c2) 字元c1按制定的位數n顯示不足的位數用c2字串替換左邊的空位
rpad(c1,n,c2)
3. 日期函式
add_months(d,n) 日期值加n月
last_day 返回當月的最後一天的日期
months_between(d1,d2) 兩個日期值間的月份,d1 alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
它的作用順序如下:
initialization parameter
environment variable
alter session command
4. 轉換函式 (4)
to_char(number)裡數字顯示格式
9 數字位
0 數字前面補0 to_char(-1200,'00000.00')
. 小數點的位置
, 標記位置的逗號 用在數字顯示格式的左邊
l 根據資料庫字符集加貨幣符號 to_char(-1200,'l9999.99')
b 把數字0顯示為空格,用在數字顯示格式的右邊
mi 右邊的負數標記 to_char(-1200,'9999.99mi')
pr 括起來的負數 to_char(-1200,'9999.99pr')
eeee 用指數方式表示 to_char(-1200,'9999.99eeee')
5. 輸入字元,返回數字的函式
instr(c1,c2) 字元c2出現在c1的位置, 不出現, 返回0, 常用於模糊查詢
length 按資料庫的字符集,算出字元c的長度,跟資料庫的字符集有關, 乙個漢字長度為1
6. 有邏輯比較的函式nvl(expr1, expr2)函式
解釋: if expr1=null return expr2
else return expr1
decode(aa0v10r10v20r2....)函式
解釋: if aa=v1 then return r1
if aa=v2 then return r2
..…else
return null
舉例: decode(id,1,'dept sale',2,'dept tech')
oracle單行函式
1.字元函式 upper 全大寫 lower 全小寫 initcap 首字母大寫 length 取長度 substr 擷取字串 replace 替換 2.數值函式 round 四捨五入 trunc 擷取 mod 取餘 3.日期函式 當前日期 sysdate 日期 數字 日期 日期 數字 日期 日期 ...
oracle單行函式
單行函式 函式類別 單行 返回單個結果 substr,length 多行 返回多個結果,any,all 單行的分類 字元類,日期類,數字類,轉換類,通用類 1.字元類 轉換大小寫 lower 轉換為小寫 select ename,lower ename from emp upper 轉換為大寫 se...
Oracle單行函式
單行函式 運算元據物件,接受引數返回乙個結果,只對一行進行變換,每行返回乙個結果,可以轉換資料型別,可以巢狀,引數可以是一列或乙個值 一 字元函式 concat 字串連線,相當於 initcap 將引數的第乙個字母變為大寫 lower 將引數轉換為全部小寫字母 upper 將引數轉換為全部大寫字母 ...