SQL函数的使用【Oracle】

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xky1306102chenhong/article/details/82772999

         ‘userenv’----不可改变

          

  1. 字符函数
    -- 字符函数
    -- 1. lower(char)
    -- 2. upper(char)
    -- 3. length(char)
    -- 4. substr(char,m,n),m:起始位置,n:个数
    
    -- 以首字母大写的方式显示所有员工的姓名。
    select upper(substr(ename,1,1))||lower(substr(ename,2,length(ename)-1)),sal from emp;
    
    -- 5. replace(char,search_string,replace_string)
    -- 显示所有员工的姓名,用'我是A'替换所有的'A'
    
    -- 6. instr(char1,char2,[,n[,m]])取子串在字符串的位置
  2. 数学函数
    -- 数学函数
    -- 1. round(n,[m]),该函数用于执行四舍五入,如果省掉m,则四舍五入到整数,
    -- 如果m是正数,则四舍五入到小数点的m位后
    -- 如果m是负数,则四舍五入到小数点的m位前
    -- 2. trunc(n,[m]),截取数字
    -- 3. mod(m,n)
    -- 4. floor(n),向下取整
    -- 5. ceil(n),向上取整
    -- 在做Oracle测试,可以使用dual表。
  3. 日期函数
    -- 日期函数
    -- 默认情况下日期格式是dd-mon-yy即12-7月 -78
    -- sysdate,返回系统时间
    
    -- 查找已经入职8个月的以上员工
    select * from emp where sysdate>add_months(hiredate,8);
    
    -- 显示满10年服务年限的员工
    select * from emp where sysdate>=add_months(hiredate,12*10);
    
    -- 对于每个员工,显示其加入公司的天数。中文字符用双引号
    select ename,trunc(sysdate-hiredate) "入职天数" from emp;
    
    -- 找出各月倒数第3天受雇的所有员工
    select ename,hiredate from emp where last_day(hiredate)-2=hiredate;
  4. 转换函数
    -- 转换函数
    -- to_char
    -- 日期可否显示时/分/秒
    select ename,to_char(hiredate,'yyyy-mm-dd hh24:mi:ss') from emp;
    
    -- 薪水是否可以显示指定的货币符号
    select ename,to_char(sal,'L9999.99') sal from emp;
    
    -- 显示1980年入职的所有员工
    select * from emp where to_char(hiredate,'yyyy')=1980;
    
    -- 显示所有12月份入职的员工
    select * from emp where to_char(hiredate,'mm')=12;
    
    -- to_date
    -- 将字符串转化成date类型的数据
    -- 按照中国人的年月日添加日期

  5. 系统函数

          'userenv' 不可改变

          

-- 系统函数
select sys_context('userenv','db_name') from dual;

猜你喜欢

转载自blog.csdn.net/xky1306102chenhong/article/details/82772999