• mysql学习笔记(四)


    • 转换函数:
      分为隐式转换和显示转换两种。
      隐式转换用于字符和数值互转,字符和日期互转
        varchar2 or char --> number,  varchar2 or char --> date
        number --> varchar2,          date-->varchar2
      select * from emp where empno = to_number('8000');
      select * from emp where hiredate = '20-2月-1981'
      尽管数据类型之间可以进行隐式转换,但仍建议使用显示转换,以保持良好的设计风格
      select '999'-10 from dual;//989
      
    • to_char(date,'fmt')
        格式元素      含义  
        YYYY,YY      代表四位,两位数字的年份
        MM           用数组表示的月份
        MON          月份的缩写,对中文月份表全称
      
      用于将日期或时间戳转换成varchar2类型字符串,如果指定了格式字符串,则用它控制结果的结果。
      格式字符串由格式元素构成。格式控制穿必须用单引号括起来。
      select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;
      
    • to_char函数操作数字:to_char(num,format)
      * 用于将number类型参数转换为varchar2类型,指定format控制转换。
        控制符       含义
          9          代表一位数字,如果该位没有数组则不显示,小数位强制显示
          0          代表一位数字,如果该位没有数字则强制显示
          $          显示美元符号
          L          显示本地货币符号
          .          显示小数点
          ,          显示千分位符号
       to_char(123.456789,'9999')   //空格123;前面补齐空格,如果'999',结果为123
       to_char(123.456789,'0000.00') //0123.46;前面补齐0,小数点后两个0表示截取两位小数,四舍五入。
       to_char(123.456789,'$0000.00') //$0123.46
       to_char(123.456789,'L0000.00') //¥0123.46
       to_char(123.456789,'999,999,999') //123,456,789
      
    • 显示转换:
      to_char():当由数值或日期转成字符串时,必须要规定格式。
    • to_number(string format):转成数字
       将char或varchar2类型的string转换为number类型。
       select to_number('$39343.783','$99990.000') from dual;       $39343.783
       select to_number('11.231','999.999') from dual; //  空格11.231
      
    • to_date(string format):转成日期
       将char或varchar2类型的string转换为date类型。
       select to_date('04,05,19,10,23,44','yy,mm,dd,hh12,mi,ss');
       select to_date('2022-05-28','yyyy-mm-dd') from dual; 
      
    • 单行函数嵌套:
      单行函数可被嵌入任何曾。
      嵌套函数从最深层到最低层求值。
      --显示没有上级管理的公司首脑
        select ename,nvl(to_char(mgr),'boss') from emp where mgr is null;
      --显示员工雇佣期满6个月后下一个星期五的日期
        select hiredate,next_day(add_months(hiredate,6),'星期五') from emp;
      
    • 其他函数:decode ,case when(条件函数)
      --给不同部门的人员涨薪,部门编号为10,涨薪10%,部门编号20,涨薪20%,部门编号30,涨薪30%
        decode实现:
          select ename,sal,deptno,decode(deptno,10,sal*1.1,20,sal*1.2,30,sal*1.3) from emp;
        case when实现:
          select ename,sal,deptno,case when deptno when 10 then sal*1.1 when 20 then sal*1.2 when 30 then sal*1.3 end from emp;
      
  • 相关阅读:
    Libevent源码分析系列
    TCP检验和
    Redis—数据结构之list
    STL—list
    STL—vector
    STL—vector空间的动态增长
    STL—内存的配置与释放
    Actuator 未授权访问之heapdump利用
    Git submodule update 命令执行
    利用Haproxy搭建 HTTP 请求走私(Request smuggling)环境
  • 原文地址:https://www.cnblogs.com/shaokai7878/p/16298568.html
Copyright © 2020-2023  润新知