zoukankan      html  css  js  c++  java
  • 10 SQL语言——函数

    函数分类

    单行函数

    • 字符函数 数值函数 日期函数
    • 转换函数 通用函数

    (分组)多行函数

    • sum() avg() 仅适用于数值型
    • count() max() min() 适用于任何类型

    其它函数

    • nvl()
    • nvl2()
    • decode()

    单行函数

    字符函数

    数值函数

    日期函数

    ROUND()函数详解:

    四舍五入规则:

    --year:1-6月为小,7-12月为大
    --month:1-15日为小,16-31日为大
    --day:本周日-周三(含)舍为本周日 周四周五周六入到下周日  (周日为每周的第一天)

    转换函数

    常用的转换函数有:to_char() to_date() to_number()

    • -- to_number():将数值类型的字符转换为数值
    • -- to_char()将数值或日期类型的数据转化为字符类型
    • -- to_date() 将字符类型(格式为日期类型)的数据转换为日期类型
    • --注意:number类型不能直接转为日期类型

    --char-->number

    • select to_number('123'+2) from dual;

    --number-->char

    • --自动转换(隐式转换):字符类型的数字与数字型数字进行运算时,会进行自动转换
      • select 123+'2' from dual;
    • --显示转换:to_char(字符型数字,格式)
      • --格式:9,表示占位,例如999,999,999会将数字三个一组使用逗号隔开
      • --格式:L表示人民币符号,$表示美元符号
      • --格式:0,表示占位,但是如果数据长度不足,会使用0补足
      • --格式:如果数据比给的格式长度还长,则全显示为#符号
      •   select to_char('21343543324','L999,999,999,999,999') from dual;
      •   select to_char('21343543324','L000,000,000,000,000') from dual;
      •   select to_char('21343543324','L000,000,000') from dual;

    --char->date

    • --to_date('字符日期',对应转换格式)
      •   select to_date('20190201','yyyymmdd') from dual;
      •   select to_date('2019/02/12','yyyy/mm/dd') from dual;

    --date-->char

    • --to_char(date,'格式')
      •        select to_char(hiredate,'yyyy-mm-dd'),ename from emp;
      •   select to_char(hiredate,'yyyy"年"mm"月"dd"日"'),ename from emp;

    分组函数(多行函数)

    常用的分组函数有:max,min,avg,sum,count

    值得注意的两点点:

    1.分组函数不能和其它字段混用,除非分组(group by)否则报错,如:

    • select min(sal),ename from emp;--错误
    • select min(sal),job from emp group by job;--正确

    2.count函数只值不为空的记录。

    其它函数

    • NVL(字段,默认值): 当字段不为0时,返回字段的值,否则返回默认值
    • NVL2(字段,值1,值2) :当字段为0时,返回值2,否则返回值1
    • DECODE(值1,处理1,值2,处理2...)
    --nvl(字段,值)
    select sal+nvl(comm,0),sal,comm from emp;
    --nvl2(字段,值1,值2)
    select sal,comm,nvl2(comm,sal+comm,sal)from emp;
    --decode(字段,值1,处理1,值2,处理2...默认处理)
    select ename,decode(job,'SALESMAN','销售人员','MANAGER','经理','其它') from emp;
    

      

  • 相关阅读:
    libusbwin32
    KMP
    windows.h
    iomanip
    C++继承
    LIST
    fstream
    VS2010中调试c++程序的方法
    sstream
    char 与char* 字符串与字符
  • 原文地址:https://www.cnblogs.com/Scorpicat/p/12294511.html
Copyright © 2011-2022 走看看