分类
|
函数
|
返回值
|
示例
|
数字型
|
abs
|
取绝对值
|
|
sign
|
取符号
|
正数返回
1
,负数
-1
,
0
返回
0
|
ceil
|
向上取整
|
ceil(3.2) =4
|
floor
|
向下取整
|
floor(3.2)=3
|
round(num,ws)
|
四舍五入
|
round(5.466,2)=5.47
|
mod(n1,n2)
|
求余
|
mod(52,10) = 2
|
ascii(ch)
|
int
|
ascii('a')=97
|
chr(int)
|
ascii
码
|
chr(97)='a'
|
字符型
|
instr(str1,str2,pos,nth)
|
返回
str2
在
str1
中的位置
从第
pos
位置开始,第
nth
个符合的,汉字按一个算
|
instr('abcd','b') = 2 instr('abcdabcdabcd','b',5) = 6 instr('abcdabcdabcd','b',5,2) =10
|
instrb(str1,str2,pos,nth)
|
与上例类似,汉字按
2
个算
|
|
substr(string,pos,length)
|
子字符串
汉字按一个算
|
substr('abcdefg',2,1) = 'b' substr('abcdefg',2)='bcdefg' substr('abcdefg',-2)='fg'
|
substrb(string,pos,length)
|
与上例类似,汉字按
2
个算
|
|
length(str)
|
字符串长度
|
|
lengthb(str)
|
|
|
lpad(str1,len,str2)
|
左补
|
|
replace(str1,str2,str3)
|
字符串替换
|
replace('abccba','ab','ef')='efccba'
|
translate(str1,str2,str3)
|
str2
和
str2
按字符对应替换
|
translate('abccba','ab','ef')='efccfe'
|
upper
|
转为大写
|
|
lower
|
转为小写
|
|
last_day(rq)
|
当月最后一天
|
last_day(sysdate) = '22-MAR-2004'
|
add_months(rq date,ys number)
|
加
ys
个月
|
|
months_between
(
d1,d2
)
|
两个日期之间相差的月数
|
|
日期型
|
decode(src, p1,v1,p2,v2 ,…,v0)
|
类似
switch…case
|
只能用于
sql
语句
|
greatest(p1,p2,...)
|
最大值
|
|
least(p1,p2,...)
|
最小值
|
|
通用
|
nvl(p1,p2)
|
如果
p1
为空则返回
p2
|
|
to_date(str,format)
|
转为日期
|
to_date('20010101','yyyymmdd')='01-Jan-2001'
|
to_char(date,format)
|
日期转为字符串
|
to_char(sysdate,'mm')='03'
|
to_char(num,format)
|
数字转为字符串
|
to_char(123,'fm99990.90)='123.00'
|
to_number(str)
|
转为数字
|
to_number('12312')=12312
|
trunc(date,format)
|
截取到
format
|
trunc(sysdate,'yyyy')= 2004.01.01
|
trunc(num,pos)
|
|
trunc(13.2362,2)=13.23
|
|
|
|