• 2.4 DQL 常见函数


    一、概述

    功能:类似于java中的方法

    好处:提高重用性和隐藏实现细节

    调用:select 函数名(实参列表);

    二、单行函数

    1、字符函数

    concat :连接   concat(last_name,first_name);

    substr :截取子串   substr(str,start1)   substr(str,start1,length)  起始位置从1开始

    upper :变大写

    lower :变小写

    replace :替换

    length :获取字节长度

    trim :去前后空格

    lpad :左填充

    rpad :右填充

    instr :获取子串第一次出现的索引

    2、数学函数

    ceil: 向上取整

    round:四舍五入

    mod: 取模

    floor向下取整

    truncate: 截断

    rand: 获取随机数,返回0-1之间的小数

     

    3、日期函数

    now:返回当前日期+时间

    year: 返回年

    month:返回月

    day: 返回日

    date_format: 将日期转换成字符

    curdate: 返回当前日期

    str_to_date: 将字符转换成日期

    curtime:返回当前时间

    hour: 小时

    minute: 分钟

    second:秒

    datediff: 返回两个日期相差的天数

    monthname: 以英文形式返回月

     
     

    4、其他函数

    version: 当前数据库服务器的版本

    database: 当前打开的数据库

    user: 当前用户

    password: ('字符'):返回该字符的密码形式

    md5: ('字符'):返回该字符的md5加密形式

     

     

     

    5、流程控制函数

     

    if(条件表达式,表达式1,表达式2):如果条件表达式成立,返回表达式1,否则返回表达式2

    ②case情况1

    case 变量或表达式或字段

    when 常量1 then 值1

    when 常量2 then 值2

    ...

    else 值n

    end

     

    ③case情况2

    case

    when 条件1 then 值1

    when 条件2 then 值2

    ...

    else 值n

    end

     

    三、分组函数

    1、分类

    max: 最大值

    min: 最小值

    sum: 和

    avg: 平均值

    count: 计算个数

     

    2、特点

     

    ①语法

    select max(字段) from 表名;
     

    ②支持的类型

    sum和avg一般用于处理数值型
    max、min、count可以处理任何数据类型
     

    ③以上分组函数都忽略null

    ④都可以搭配distinct使用,实现去重的统计

    select sum(distinct 字段) from 表;

    ⑤count函数

    count(字段):统计该字段非空值的个数
    count(*):统计结果集的行数
    案例:查询每个部门的员工个数
    1 xx    10
    2 dd    20
    3 mm    20
    4 aa    40
    5 hh    40
     
    count(1):统计结果集的行数
     
    效率上:
    MyISAM存储引擎,count(*)最高
    InnoDB存储引擎,count(*)和count(1)效率>count(字段)

     

    ⑥ 和分组函数一同查询的字段,要求是group by后出现的字段

     
     
     
     
     
     
     
     
  • 相关阅读:
    Java线程面试题 Top 50
    深入理解java内存模型
    线程池的理解
    Thread的理解
    ThreadLocal的理解
    排序算法(简)
    排序算法
    【Java集合源码剖析】LinkedHashmap源码剖析
    vsftp上传文件权限问题
    xp 通过注册表修改环境变量
  • 原文地址:https://www.cnblogs.com/huabro/p/12624196.html
Copyright © 2020-2023  润新知