单行函数

  1. 判断Oracle是否安装成功

    在 cmd 控制台输入命令: sqlplus 用户名/密码
  2. 解锁或重置某个用户的密码

    解锁用户
        alter user 用户 account unlock;
    解锁或重置用户密码
        alter user 用户 identified 密码;
  3. dual:虚表,没有实际意义,仅仅为了补全语法

    查询系统当前时间
    select sysdate();--mysql
    select sysdate from dual;--oralce
  4. 字符函数

    大写转小写
        select lower('YES') from dual;
    小写转大写
        select upper('yes') from dual;
    截取字符串
        select substr('asdfg',3,2) from dual;
    用第三个字符补全第一个字符,长度是第二个参数
        select lpad('as',6,'d') from dual;
    获取第二个字符串在第一个字符串中的位置 
        select instr('asfg','f') from dual;
    去除字符串前后空格
        select trim('  as '),'  as  ' from dual;
    用第三个字符串替换第一个字符串中的第二个字符串
        select replace('asdf','as','kk') from dual;
  5. 数值函数

    四舍五入
        select round(12.34,-1) from dual;
    直接截取
        select trunc(12.34,-1) from dual;
    求余
        select mod(12,5) from dual;
  6. 日期函数

    获取明天的当前时间
        select sysdate+1 from dual;
    获取明年的当前时间
        select sysdate+365 from dual;
    获取两个日期之间相差的月份
        select months_between(sysdate,e.hiredate) from emp e;
    日期四舍五入
        select round(sysdate) from dual;--按天统计,过了中午12点算下一天
        select round(months_between(sysdate,e.hiredate)) from emp e;
    日期截断
        select trunc(sysdate) from dual;--按天统计
    算出emp表中所有员工入职距离现在几年
        select round(months_between(sysdate,e.hiredate)/12) from emp e;
    算出emp表中所有员工入职距离现在几天
        select round(sysdate-e.hiredate) from emp e;
    算出emp表中所有员工入职距离现在几周
        select round((sysdate-e.hiredate)/7) from emp e;
  7. 转换函数

    字符串转数字
        select to_number('111'),'111' from dual;
    日期转字符串
        select to_char(sysdate,'fm yyyy-mm-dd hh24:mi:ss') from dual;
    字符串转日期
        select to_date('2017-9-9 10:11:11','fm yyyy-mm-dd hh24:mi:ss') from dual;
        select to_date('2017-9-9 16:11:11','fm yyyy-mm-dd hh24:mi:ss') from dual;
    月单词
        select to_char(sysdate,'month') from dual;
    月数字
        select to_char(sysdate,'mm') from dual;
    星期单词
        select trim(to_char(sysdate,'day')) from dual;
    日期数字
        select trim(to_char(sysdate,'dd')) from dual;
    星期单词简写
        select trim(to_char(sysdate,'dy')) from dual;
    年数字
        select trim(to_char(sysdate,'yyyy')) from dual;
    年单词
        select trim(to_char(sysdate,'year')) from dual;
    格式化数字
        select to_char(123456,'L999,999.000') from dual;
  8. 通用函数

    如果第一个参数为null,返回第二个参数
        select nvl(null,123) from dual;
    如果第一个参数为null,返回第三个参数,否则返回第二个参数  
        select nvl2(null,123,456) from dual;
    如果两个参数一样,返回null,否则返回第一个参数
        select nullif(2,2) from dual;
    返回第一个不为null的值
        select coalesce(null,1,null,2,null,3) from dual;
  9. 条件表达式

    mysql和orale通用
        select case e.ename
               when 'SMITH' then 'aaa'
                 when 'ALLEN' then 'bbb'
                   when 'WARD' then 'ccc'
                     when 'JONES' then 'ddd'
                       else 'asdf'
                         end "汉语名称", e.job
        from emp e;
    Oracle独有
        select  decode(e.ename,
            'SMITH',  'aaa',
              'ALLEN',  'sss',
                'WARD',  'ddd',
                  'JONES',  'fff',
                    'hh')
                      "汉语名称", e.job
        from emp e;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值