1、字串函式
length() 字元長度
lentthb() 位元組長度;乙個漢字記憶體中占用 2位元組
ltrim、rtrim、trim
2、截串
substr(表示式,位置,長度)
oracle 無左右取串函式,但可以使用變通方式完成。
左取串: substr('abcdefg', 1, 3)
右取串: substr('abcedfg', length('abcdefg')-3+1, 3)
字元函式接受字元輸入,並返回字元或數值。
initcap(char) 首字母大寫
lower(char) 轉換為小寫
upper(char) 轉換為大寫
ltrim(char, set) 左裁切
rtrim(char, set) 右裁切
translate(char, from, to) 按字母翻譯
replace(char, search_str, replace_str) 字串替換
instr(char, substr[,pos]) 查詢子串位置
substr(char, pos, len) 取子字串
concat(char1, char2) 連線字串
chr(ascii) 根據 ascii 碼返回對應字串
lpad / rpad 左 / 右 填充
lpad ('function', 15 , '=') 返回 '*****==function'
tram 開頭或結尾(或 開頭和結尾)裁剪特定的字元,預設裁剪空格。
trim ([leading | trailing] trim_char)
length(char) 返回字串長度
decode 逐個值進行字串替換
decode (expr, search1, result1, search2, result2, [ ,default])
decode (ostalus, 'p', '準備處理', 'c', '已完成')
3、時間函式
4、轉換函式
to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss')
to_date('20130301,'yyyymmdd hh24:mi:ss')
to_number('333') 必須是能轉換
to_timestamp('2007-10-10 00:00:00.0', 'yyyy-mm-dd hh24:mi:ssxff') 轉換為時間戳格式
5、字元型函式
ascii:獲得字元的ascii碼,如:ascii('a') 65
chr:返回與ascii碼相應的字元,如:chr(65) a
lower:將字串轉換成小寫,如:lower ('sql course') sql course
upper:將字串轉換成大寫,如:upper('sql course') sql course
initcap:將字串轉換成每個單詞以大寫開頭,如:initcap('sql course') sql course
concat:連線兩個字串 concat('sql', ' course') sql course
substr:給出起始位置和長度,返回子字串,如:substr('string',1,3) str
length:求字串的長度 length('wellcom') 7
instr:給出起始位置和出現的次數,求子字串在字串中出現的位置,如:instr('string', 'r',1,1) 3
lpad:用字元填充字串左側到指定長度,如:lpad('hi',10,'-') --------hi
rpad:用字元填充字串右側到指定長度,如:rpad('hi',10,'-') hi--------
trim:在乙個字串中去除另乙個字串,如:trim('s' from 'ssmith') mith
replace:用乙個字串替換另乙個字串中的子字串,如:replace('abc', 'b', 'd') adc
6、日期函式
months_between:返回兩個日期間的
月份,如:months_between ('04-11月-05','11-1月-01'),結果,57.7741935
add_months:返回把月份數加到日期上的新日期,如:add_months('06-2月-03',1),結果,06-3月-03
add_months('06-2月-03',-1),結果,06-1月-03
next_day:返回指定日期後的星期對應的新日期,如:next_day('06-2月-03','星期一'),結果,10-2月-03
last_day:返回指定日期所在的月的最後一天,如:last_day('06-2月-03'),結果,28-2月-03
round:按指定格式對日期進行四捨五入,如:round(to_date('13-2月-03'),'year'),結果,01-1月-03
round(to_date('13-2月-03'),'month'),結果,01-2月-03
round(to_date('13-2月-03'),'day'),結果,16-2月-03
(按周四捨五入)
trunc:對日期按指定方式進行截斷,如:trunc(to_date('06-2月-03'),'year'),結果,01-1月-03
trunc(to_date('06-2月-03'),'month'),結果,01-2月-03
trunc(to_date('06-2月-03'),'day'),結果,02-2月-03
7、其他函式
user:當前使用者
sum(decode(***, '男', 1, 0)) 篩選出行被為男的記錄 並加1
sum(decode(***, '女', 1, 0)) 篩選出行被為女的記錄 並加1
nvl (exp, exp2) 如果 exp 為空返回 exp2;如果非空返回 exp
nvl2 (exp, exp2, exp3) 如果 exp 為空返回 exp3;如果非空返回 exp2
nullif (exp1, exp2) 比較兩表示式,相等返回空值,不等則返回 exp1
abs:求絕對值函式,如:abs(5) 5
sqrt:求平方根函式,如:sqrt(2) 1.41421356
power:求冪函式,如:power(2,3) 8
cos:求余弦三角函式,如:cos(3.14159) ?1
mod:求除法餘數,如:mod(1600, 300) 100
ceil:求大於等於某數的最小整數,如:ceil(2.35) 3
floor:求小於等於某數的最大整數,如:floor(2.35) 2
round:按指定精度對十進位制數四捨五入,如:round(45.923, 1),結果,45.9
round(45.923, 0),結果,46
round(45.923, 1),結果,50
trunc:按指定精度截斷十進位制數,如:trunc(45.923, 1),結果,45.9
trunc(45.923),結果,45
trunc(45.923, 1),結果, 40
ORACLE常用函式總結
時常忘記,但是用得十分頻繁 nvl nvl exp1,exp2 exp1為null,返回exp2,exp1不為null,返回exp1 主要使用者轉換null值 nullif nullif exp1,exp2 exp1 exp2,返回空,不等返回exp1 coalesce coalesce exp1,...
oracle常用函式總結
目錄 nvl2.1 decode 函式簡介 1 sign 函式.3 oracle 中的union union all intersect minus 3oracle trim 函式.7 oracle trunc 函式的用法 8 lpad 用法.10 oracle translate 詳解 例項.10...
Oracle常用函式總結
1 concat和 concat連線兩個字元,可連線多個字元 select concat a b from dual ab select a b c from dual abc 2 replace 將要更改的字串 被替換掉的字串 替換字串 select replace abc b 1 from du...