數值函數:
abs(m)m的絕對值
mod(m,n)m被n除后的余數
power(m,n)m的n次方
round(m[,n])m四舍五入至小數點后n位的值(n缺省為0)
trunc(m[,n])m截斷n位小數位的值(n缺省為0)
字符函數:
initcap(st)返回st將每個單詞的首字母大寫,所有其他字母小寫
lower(st)返回st將每個單詞的字母全部小寫
upper(st)返回st將每個單詞的字母全部大寫
concat(st1,st2)返回st為st2接st1的末尾(可用操作符"||")
lpad(st1,n[,st2])返回右對齊的st,st為在st1的左邊用st2填充直至長度為n,st2的缺省為空格
rpad(st1,n[,st2])返回左對齊的st,st為在st1的右邊用st2填充直至長度為n,st2的缺省為空格
ltrim(st[,set])返回st,st為從左邊刪除set中字符直到第一個不是set中的字符。缺省時,指的是空格
rtrim(st[,set])返回st,st為從右邊刪除set中字符直到第一個不是set中的字符。缺省時,指的是空格
replace(st,search_st[,replace_st])將每次在st中出現的search_st用replace_st替換,返回一個st。缺省時,刪除search_st
substr(st,m[,n])n=返回st串的子串,從m位置開始,取n個字符長。缺省時,一直返回到st末端
length(st)數值,返回st中的字符數
instr(st1,st2[,m[,n]])數值,返回st1從第m字符開始,st2第n次出現的位置,m及n的缺省值為1
例:
1.
select initcap('THOMAS'),initcap('thomas') from test;
initca initca
------ ------
Thomas Thomas
2.
select concat('abc','def') "first" from test;
first
-----
abcdef
3.
select 'abc'||' '||'def' "first" from test;
first
-----
abc def
4.
select lpad(name,10),rpad(name,5,'*') from test;
lpad(name,10) rpad(name,5,'*')
------------ ----------------
mmx mmx**
abcdef abcde
5.
去掉地址字段末端的點及單詞st和rd
select rtrim(address,'. st rd') from test
6.
name replace(name,'a','*')
---- ---------------------
great gre*t
7.
select substr('archibald bearisol',6,9) a,substr('archibaldbearisol',11) b from test;
ab
------- -------
bald bear bearisol
8.
select name,instr(name,' ') a,instr(name,' ',1,2) b fromtest;
nameab
------- -------- ---------
li lei30
l i l24
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
轉換函數:
nvl(m,n)如果m值為null,返回n,否則返回m
to_char(m[,fmt])m從一個數值轉換為指定格式的字符串fmt缺省時,fmt值的寬度正好能容納所有的有效數字
to_number(st[,fmt])st從字符型數據轉換成按指定格式的數值,缺省時數值格式串的大小正好為整個數
附:
to_char()函數的格式:
---------------------------------
符號說明
新聞熱點
疑難解答