zoukankan      html  css  js  c++  java
  • Oracle学习<二>

    三、 sql function 单行函数

         -| lower(),

           把括号中的字段中的项目全部转换成小写

           如select lower(ename) from emp;

       

           select ename from emp where lower(ename) like '_a%';

           等同于select ename from emp where ename like '_a%' or ename like '_A%';

         -| upper();

          功能与lower()全部相反

         -| substr();

           select substr(ename,2,3) from emp;从第二字符截,一共截三个字符.

         -| chr()

           select chr(65) from dual 结果为:A

         -|ascii();

           select ascii('a') from dual 结果为:65

         -| round()四舍五入

            select round(23.652,1) from dual; 结果为: 23.7
            select round(23.652,-1) from dual; 20

            第二个参数为小数点后第几位为有效数字,没参数默认为0.

          -| to_char  将一个列中的内容转换成一种自定义格式

            select to_char(sal,'$99_999_999') from emp;
            select to_char(sal,'L99_999_999') from emp;人民币符号,L:代表本地符号

            

            这个需要掌握牢:
            select BIRTHDATE from emp;
            显示为:
            BIRTHDATE
            ----------------
            17-12月-80
            ----------------

            改为:
            select to_char(birthdate,'YYYY-MM-DD HH:MI:SS') from emp;

            显示:

            BIRTHDATE
            -------------------
            1980-12-17 12:00:00
            -------------------
            当前时间
            select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual; //也可以改为:HH12
            TO_CHAR(SYSDATE,'YY
            -------------------
            2007-02-25 14:46:14

          

          -|to_date函数:
            select ename,birthdate from emp where birthdate > to_date('1981-2-20 12:34:56','YYYY-MM-DD HH24:MI:SS');
            如果直接写 birthdate>'1981-2-20 12:34:56'会出现格式不匹配,因为表中的格式为: DD-MM月-YY.


            select sal from emp where sal>888.88 无错.但
            select sal from emp where sal>$1,250,00;
            会出现无效字符错误.
            改为:
            select sal from emp where sal>to_number('$1.250.00','$9,999,99');

           

          -| nvl函数;把特定的列如果其为空值则改为特定数字

            把空值改为0
            select ename,sal*12+nvl(comm,0) from emp;
            这样可以防止comm为空时,sal*12相加也为空的情况.

  • 相关阅读:
    数据结构与算法10 微服务接口的鉴权和限流 [MD]
    .Net开发环境配置[OS/IIS/VS...]
    一、单件模式
    正则表达式调试器1.1
    C#2.0新特性系列文章转载
    巧用VS2005解决VS2005网站发布不便问题
    配置VS2005,加速VS2005运行速度
    转载:ASP.NET运行机制 和 图片盗链问题
    ASP.NET页面提前处理问题
    关于NTLM认证的python和.NET实现
  • 原文地址:https://www.cnblogs.com/elleniou/p/2625548.html
Copyright © 2011-2022 走看看