zoukankan      html  css  js  c++  java
  • Oracle_单行函数

    Oracle_单行函数

    --dual是一张虚拟表,用于做测试
    select sysdate from dual;
    select 1 + 1 from dual;  
    字符函数initcap(),lower(),upper(),substr(),replace(),length()
    --1.字符函数
    ----首字母大写,全部小写,全部大写
    select initcap('hello world'),lower('LIASDFALASDLF ASLKDF'), upper('sdfafa dsf') from dual;  
    --2.查询所有员工的姓名,分别以首字母大写,其余字母小写的形式显示;
    select ename, initcap(ename), lower(ename) from emp;  
    --3.字符串的截取
    --substr():第一个参数表示被截取的字符串,第二个参数表示起始位置,第三个参数表示截取的长度
    -----------第一个参数表示被截取的字符串
    -----------第二个参数表示截取的开始位置
    -----------第三个参数可以省略,表示一直截取到末尾
    --查询员工的姓名,并显示员工姓名的前三位字母
    select ename, substr(ename, 0, 3) from emp;
    --查询员工的姓名,并显示员工姓名的后三位字母
    select ename, substr(ename, -3) from emp;  
    --4.查询所有员工的姓名,将姓名中的‘A’字符替换为‘a’
    select ename, replace(ename, 'A', 'a') as replace from emp;  
    --5.查看字符串的长度
    select ename from emp where length(ename)=6;  
    数值函数ceil(),floor(),round(),trunc()
    --6.数值函数  ceil()  floor()  round()  trunc()  
    select ceil(12.00001) from dual;
     
    select floor(12.99999) from dual;
    select round(12.43) from dual;
    select trunc(12.88) from dual;
     
     
    select round(88.44, 1) from dual;
    select round(88.45, 1) from dual;
     
    select round(44.45, -1) from dual;
    select round(45.45, -1) from dual;
    select round(155.45, -2) from dual;  
    日期函数add_months(),next_day(),last_day()
    --7.日期函数
    select sysdate from dual;
    ----7.1查看所有员工到今天为止入职的月份,保留到整数
    select hiredate, round(months_between(sysdate, hiredate), 0) from emp;
     
    ----7.2距离当前日期一个月后的日期
    select sysdate, add_months(sysdate, 1) from dual;
     
    ----7.3得到距离下一个指定星期最近的日期
    select sysdate, next_day(sysdate, '星期六') from dual;
     
    ----7.4last_day:表示当前月份的最后一天是记号
    select sysdate, last_day(sysdate) from dual;  
     
     
     
    转换函数to_number(),to_date(),to_char()
    select 1 + to_number('123') from dual;
    select 1 + '123' from dual;
    select 1 + to_char(123) from dual;  
    --1.to_date将字符串转化为日期类型
    select * from emp where hiredate = '17-12月-80';
    select * from emp where hiredate = to_date('1980-12-17','yyyy-MM-dd');
    select to_date('1840-1-1 18:00:00','yyyy-mm-dd hh24:mi:ss') from dual;  
    --2.to_char将日期转化为字符串
    select 123,to_char(123) from dual;
    select sysdate,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;  

    select ename,to_char(hiredate,'yyyy')year from emp;  
    其他函数nvl(),nvl2()
    --3.1nvl:如果待判断的值为null,那么返回第二个参数,否则返回本身
    --注意,nvl第二个参数的类型必须与第一个参数的类型一致
    ----查询所有员工的月薪,提成,总工资
    select sal,nvl(comm,0),sal+nvl(comm,0) from emp;  
    --3.2nvl2(expr1,expr2,expr3)
    --表达式1为空的时候,返回表达式3,否则返回表达式2
    select sal,comm,nvl2(comm,sal+comm,sal) total from emp;  
    decode:多重判断  
    --查看所有的职位信息
    select distinct job from emp;
    select distinct job,decode(job,'CLERK','职员','SALESMAN','销售','PRESIDENT','董事长','MANAGER','经理','ANALYST','分析师')job_zh 
    from emp;  
     
     
     
  • 相关阅读:
    4
    把URL传递参数转变成自定义实体方法
    【转载】C#后台声明式验证,远离if验证
    判断访问浏览器版本
    用属性动画模仿展开菜单
    N个数随机相加得出固定值的排列组合
    css3--box-shadow
    学习仅仅是靠意志力吗
    cmd 输入php出错
    切图注意事项
  • 原文地址:https://www.cnblogs.com/haozhengfei/p/6538389.html
Copyright © 2011-2022 走看看