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相加也为空的情况.

  • 相关阅读:
    LeetCode:149_Max Points on a line | 寻找一条直线上最多点的数量 | Hard
    LeetCode: 150_Evaluate Reverse Polish Notation | 分析逆波兰式 | Medium
    LeetCode:151_Reverse Words in a String | 字符串中单词的逆反 | Medium
    Cellular Traffic Offloading
    在word 2010中采用EndNote X7插入引用
    屏幕截图和标记
    A Nice Paper About Mobile Data Offloading
    linux Redhat 6环境上通过源码包安装DRBD 8
    hbase shell中执行list命令报错:ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing
    如何通过phoenix中查看表的主键信息
  • 原文地址:https://www.cnblogs.com/elleniou/p/2625548.html
Copyright © 2011-2022 走看看