oracle 常用函数汇总

字符串处理

LENGTH : 计算计算字符串的长度 ,LENGTH(column)
LOWER/UPPER : 将字符全部变成小写或者大写
SUBSTR(string,start,count) :字符串截取 substr(13088888888,3,8)= 08888888
REPLACE(string,s1,s2) :  字符串替换 replace('he love you','he','i')=i love you
CONCAT(strexp, strexp):  连接两个字符串   concat(first_name,last_name)
Trim():截取字符串两端特殊字符  trim('   ddd    ')

数字处理

FLOOR(n): 取整 floor(2345.67)=2345
ROUND( number, 小数位数 ):四舍五入   ROUND(45.926, 2)=45.93
TRUNC( number, 小数位数 ):小数位数以外的全部舍去 TRUNC(45.926, 2)= 45.92
MOD( n1, n2 ): 取余 相当于 n1 % n2    MOD(10, 3)=1
to_number: 把字符转换成数字

逻辑函数

nvl(ex1,ex2) :
    ex1值为空则返回ex2,否则返回该值本身ex1  nvl(comm,0)
nullif(ex1,ex2): 
    值相等返空,否则返回第一个值
nvl2(ex1,ex2,ex3):
    如果ex1不为空,显示ex2,否则显示ex3
coalesce(ex1,ex2,....) :
    返回列表中第一个非空表达式 在查询时多列选一的时候用处比较大
sign()
    函数根据某个值是0、正数还是负数,分别返回0、1、-1 例如 sign(10-1) 返回1,sign(1-10) 返回-1, sign(1-1) 返回0
decode(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)
    decode(sign(工资-8000),1,工资*1.15,-1,工资*1.20,工资*1.10) 工资在8000以上的涨15%,以下的涨20%, 其他的10%
case when 表达式 then 值/函数 else 值/函数 end

处理日期

MONTHS_BETWEEN(date2,date1): 两日期相差多少月  months_between('01-4月-08','02-8月-08')
ADD_MONTHS: 增加或减去月份 add_months(to_date(199912,yyyymm),-2/2)
Last_day(date1) :  计算指定日期所在月份的最后一天的日期
TO_DATE格式(以时间:2007-11-02   13:45:25为例)
TO_CHAR日期转换成字符串,格式化的内容是一样的
        Year:      
        yy two digits 两位年                显示值:07
        yyy three digits 三位年                显示值:007
        yyyy four digits 四位年                显示值:2007  
		
        Month:      
        mm    number     两位月              显示值:11
        mon    abbreviated 字符集表示          显示值:11月,若是英文版,显示nov     
        month spelled out 字符集表示          显示值:11月,若是英文版,显示november 
          
        Day:      
        dd    number         当月第几天        显示值:02
        ddd    number         当年第几天        显示值:02
        dy    abbreviated 当周第几天简写    显示值:星期五,若是英文版,显示fri
        day    spelled out   当周第几天全写    显示值:星期五,若是英文版,显示friday        
        ddspth spelled out, ordinal twelfth 
             
        Hour:
        hh    two digits 12小时进制            显示值:01
        hh24 two digits 24小时进制            显示值:13

        Minute:
        mi    two digits 60进制                显示值:45
              
        Second:
        ss    two digits 60进制                显示值:25
        其它
        Q     digit         季度                  显示值:4
        WW    digit         当年第几周            显示值:44
        W    digit          当月第几周            显示值:1

        24小时格式下时间范围为: 0:00:00 - 23:59:59....      
        12小时格式下时间范围为: 1:00:00 - 12:59:59 ....

常用的分组函数

AVG ([DISTINCT|ALL]n)  
COUNT ({ *|[DISTINCT|ALL]expr})
MAX ([DISTINCT|ALL]expr)
MIN ([DISTINCT|ALL]expr)
SUM ([DISTINCT|ALL]n)


转载于:https://my.oschina.net/me0eric/blog/464934

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值