日期函数:
sysdate
此函数没有参数,得到当前日期
current_timestamp
此函数没有参数,得到精度更高的当前日期
add_months(日期,追加月份)
得到日期加上指定月份的时间数据
last_day(日期)
得到指定日期月份的最后一天
months_between(日期1,日期2)
得到日期1减去日期2的月份数
字符串转日期
to_date('2011-03:23-14:22:33','yyyy-mm:dd-hh23miss')
//将指定的字符串按照指定格式解析成标准日期数据
日期转字符串
to_char(date,'yyyymmdd')
//此函数用来将date标准日期数据转换为想要格式的字符串
数学函数
round() 四舍五入
select round(n,a) from dual;
//a如果为正数,则在小数点右边a位四舍五入
//a如果为负数,则在小数点左边a位四舍五入
//a如果为小数,则先舍去a的小数位,在执行上面的运算
trunc(n,a) 取小数点后a位,a可以是负数
trunc()
与round()
是不同的,trunc()
并没有四舍五入,只是简单的舍去不需要的位数
ceil()向上取整
floor()向下取整
abs()取绝对值
sin()asin()cos()acos()tan()atan()三角函数
ln(n)e为低求对数
log(底数,n) 求对数
power(n,指数) 求幂
mod(被除数,除数) 取模
sqrt(底数)开平方
字符串函数
length(s) 输出字符串长度
concat(s1,s2)拼接字符串
等同于:
s1 || s2
initcap(s)
字符串中各个单词的首字母大写,标点符号不影响结果
instr(s1,s2)
s2在s1中出现在第几个位置上,首字母的位置是1
upper(s) 将字符串转化为大写
lower(s) 将字符串转化为小写
nvl(s1,s2) (s1!=null)? s1:s2
;
nvl2(s1,s2,s3)
如果s1为空,则输出字符串3
如果部分为空,输出字符串2
ltrim(s) 去掉字符串左边空格
rtrim(s) 去掉字符串右边空格
replace(s1,s2,s3)
在s1中搜索,将s2替换成s3
substr(s,offset,len)
截取字符串,以offset作为起始位置(包含),截取指定长度字符串输出
lpad(s,len,sfill)
左填充,如果字符串s长度超过len,则截取字符串的前len位,如果字符串不够len,则在字符串左边添加sfill repeatedly
rpad(s,len,sfill)
右填充,如果字符串s长度超过len,则截取字符串的前len位,如果字符串不够len,则在字符串右边添加sfill repeatedly