美文网首页
oracle函数

oracle函数

作者: kanaSki | 来源:发表于2019-07-20 09:47 被阅读0次

    单行函数:
    字符函数 数值函数 日期函数 转换函数 通用函数
    多行函数:
    sum() avg() 仅适用于数值型
    count() max() min() 适用于任何数据类型

    伪表:不是真实存在的表,是为方便进行数据验证而临时存在的表,表名为dual

    字符函数:
    ——不改变真实数据
    ——可以和字段混合使用


    字符函数

    数值函数


    数值函数

    日期函数


    日期函数

    其中四舍五入操作:year针对月进行四舍五入
    month针对日进行四舍五入
    day针对星期进行四舍五入,在该星期下半段返回这周日,在该星期上半段返回上周日(依据外国日历计算,周四及周四之前返回上周日),按照星期进行四舍五入

    多行函数不能与单行函数混用,除非分组

    count()查询字段的值的数量,自动忽略null
    select count(distinct job) from emp

    转换函数:
    to_char() 将数字或者日期转为字符
    to_number() 将字符转为数字
    to_date() 将字符转为日期

    字符转换为数字:char->number

    select to_number('123.45') from dual
    select to_number(' 123.45')+2 from dual
    

    数字转字符:number->char

    select to_char(234) from dual
    select to_char(123456789,'999,999,999') from dual——三位一打点,数字位数不能超过后面,否则显示########...
    select  to_char(123456789,'L999,999,999') from dual——前加人民币符号
    select  to_char(123456789,'$999,999,999') from dual——前加美元符号
    select to_char(12345678,'000,000,000.000') from dual
    ——三位一打点的同时不足的部分用0补位
    
    ——隐式转换,自动将字符转为数字,相当于sal>to_number('2000')
    select * from emp where sal>'2000'
    select ' 123'+2 from dual
    

    字符转为日期:char->date

    ——字符必须符合日期格式
    ——oracle默认转换格式为‘日月年’,例如‘01-1月-1982’
    select * from emp where hiredate>'01-1月-1982'
    select * from emp where hiredate>to_date('1982-01-01','yyyy-mm-dd')
    

    日期转为字符:date->char
    to_char('要转换的日期',转换格式)

    select to_char(hiredate) from emp ——使用默认格式将日期转换为字符
    select to_char(hiredate,'yyyy/mm/dd') from emp 
    select to_char(hiredate,'yyyy"年"mm"月"dd"日"') from emp 
    

    其他函数:
    nvl(字段名,值) 如果字段值为null则转换为相应值
    nvl2(字段名,处理1,处理2) 如果字段值不为null,执行处理1,否则执行处理2
    decode(字段名,值1,处理1,值2,处理2,...,,公共处理) 类似于switch,公共处理可有可无

    select job,ename,sal+nvl(comm,0) from emp
    select job,ename,nvl2(comm,sal+comm,sal) from emp
    select ename,decode(job,'CLERK','职员','MANAGER','经理','普通员工') from emp
    

    相关文章

      网友评论

          本文标题:oracle函数

          本文链接:https://www.haomeiwen.com/subject/aimikctx.html