文章目录
数学函数
abs()
- 返回指定数值的绝对值
abs(-100)→100
round(m,n)
返回m四舍五入到第2个参数n指定的十进制数。n为正整数,表示被四舍五入到小数点右侧n位的值;n为负数,则被四舍五入至小数点左侧n位;若省略n,则四舍五入到整数位。
round(55.236,2) → 55.24
round(55.236,-1)→60
round(55.5) → 56
ceil()
返回大于或等于给出数字的最小整数
ceil(3.14159267)→4
floor()
对给定的数字取整数,返回小于或等于参数的最大整数
floor(2345.67)→2345
mod(m,n)
返回一个m除以n的余数,参数为任意数值或可以隐式转换数值的数据,如果n为0,那么函数返回m
mod(10,3)→1
trunk(m,[n])
返回m截取到指定n位的值;若n>0,截取到小数点右侧的n位处,小数不会执行四舍五入操作;若n<0,截取到小数点左侧的n位处;若n=0,截取到小数处。被截取部分用0代替。
trunk(124.166,2,2)→124.16
trunk(124.166666,-2)→100
trunk(-55.5)→-55
字符串函数
lower(s)
返回字符串,并将指定参数的全部字符转换为小写
Lower(‘Good’)→good
upper(s)
返回字符串,并将指定参数的全部字符转换为大写
upper(‘Good’)→GOOD
initcap()
返回字符串,并将第一个字符转换为大写
initcap(‘smith’)→Smith
substr(s,start,len)
取字符串s中,从start位置开始,截取len个子字符串
substr(‘123456’,2,3)→234
trim([f] [c from] s)
从字符串s中删除两侧的字符c,如果c没有指定,默认删除字符串s左右两侧的空格。f为可选项,如果为leading则表示删除s的前缀字符,如果为trailing则表示删除s的后缀字符,如果为both则删除s的前后缀字符。
trim(‘d’ from ‘Good’)→Goo
trim(’ Good ')→Good
trim(leading ‘G’ from ‘Good’)→ood
trim(trailing ‘d’ from ‘Good’)→Goo
日期函数
add_months(d,n)
返回指定日期d之前(n<0)或之后(n>0)的n个月对应的日期
add_months(to_date(‘2016-10-1’,‘YYYY-MM-DD’),2)→01-12月-16
last_day()
返回参数指定日期对应月份的最后一天的日期
last_day(to_date(‘2016-10-1’,‘YYYY-MM-DD’)) →31-10月-16
months_between(d2,d1)
返回两个日期之间相差的月数,d2和d1都为日期型数据。当d2>d1时,如果2个参数表示日期是某月中的同一天,或都是某月中的最后一天,则返回正整数,否则返回小数;当d2<d1时,则返回负数。
months_between(‘1-12月-2016’,‘1-8月-2016’) →4
months_between(‘1-8月-2016’,‘1-12月-2016’) →-4
current_date()
返回当前会话时区的当前日期时间
extract(f from d)
从指定日期d中获取指定格式f所要求的数据,例如从给定日期数据中获取年、月、日,f可以为year、month和day等。
extract(year from sysdate)→2021
其他函数
nvl()
从两个表达式返回一个非 null 值。
nvl(a,b)
如果a为null,则返回b,否则返回a。
nvl2()
nvl2(a,b,c)如果a为 NULL,则函数返回c,若a不为 NULL,则返回b。
to_number(s[,f])
将符合特定数值格式的字符串s转换为指定格式f所要求的数值 。
to_number(‘2016’) →2016
to_number(‘16.7’,‘99.9’)→16.7
to_char(n,f)
将指定的数据值性数据或日期n按指定格式符f转换为字符型数据。
to_char(16.789,‘99.9’)→16.8
to_char(sysdate,‘YYYY/MM/DD HH24:MM:SS’)→2021/12/26 14:13:06
to_date(s,f)
将指定字符串s按照f指定的格式转化为Oracle中的一个日期。
to_date(‘2021-12-26’,‘YYYY-MM-DD’)