zoukankan      html  css  js  c++  java
  • DQL-常见的函数

    一、概述
    功能:类似于java中的方法
    好处:提高重用性和隐藏实现细节
    调用:select 函数名(实参列表);

    二:常用的函数:

     ① 单行函数

    1.分组函数

    1.sum(),avg(),max(),min(),count();

    // 求和,平均数,最大值,最小值,个数;

    2.字符函数

    concat();    //连接两个字符串

    substr();    //截取字串

    upper();     //小写变大写

    lower();    //大写变小写

    reaplace();//将指定的位置的字符替换成目标字符串

    length();  //获取字符串长度

    trim();    //去除前后空格或去除指定字母(需要自己定义)

    lpad()  //左填充

    rpad()//右填充

    inst()//获取指定字串第一次出现在目标字符串的位置

    3.数学函数


    ceil():向上取整
    round():四舍五入
    mod():取模
    floor():向下取整
    truncate():截断
    rand():获取随机数,返回0-1之间的小数

    4.日期函数

    now():返回当前日期+时间

    SELECT NOW();


    year():返回年

    SELECT YEAR(NOW());
    


    month():返回月

    SELECT MONTH(NOW());
    


    day():返回日

    SELECT DAY(NOW());
    


    date_format():将日期转换成字符

    SELECT DATE_FORMAT(NOW(),'%m-%d-%y');
    #将日期转换成指定格式的字符输出


    curdate():返回当前日期

    SELECT CURDATE();
    


    str_to_date():将字符转换成日期

    SELECT STR_TO_DATE('2017/01/02', '%Y/%m/%d');
    

    curtime():返回当前时间
    hour():小时
    minute():分钟
    second():秒


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

    SELECT DATEDIFF(NOW(),'1998/07/27');
    


    monthname():以英文形式返回月

    SELECT MONTHNAME('1998/07/27');

    5.其他函数


    version 当前数据库服务器的版本
    database 当前打开的数据库
    user当前用户
    password('字符'):返回该字符的密码形式
    md5('字符'):返回该字符的md5加密形式

    6.流程控制函数

    if:

    if(条件表达式1,条件表达2,条件表达式三) ;// 判断条件表达式一,如果是true,输出表达式 二,如果是false,输出表达式三,和三元表达式差不多

    SELECT IF(1=2,2,3);
     3

    case:情况1

    case 变量或表达式或字段
    when 常量1 then 值1
    when 常量2 then 值2
    ...
    else 值n
    end

    select id,name,(case sex
    
           when '1' then ''
    
           when '2' then ''
    
            else '其他' end)
    
    from student;

    case情况2
    case
    when 条件1 then 值1
    when 条件2 then 值2
    ...
    else 值n
    end

    select name,id,(case when id=34 then salary*2
    
                                        when id=45 then salary*3
    
                                        else salary
    
                                        end) new_salary
    
    from semp;
    

    7.特点

    ①语法
    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后出现的字段






  • 相关阅读:
    gluon模块进行数据加载-Dataset和DataLoader
    梯度相关概念
    plt.rcParams参数设置
    矩阵求导(二)
    矩阵求导(一)
    使用MXNet的NDArray来处理数据
    Win10环境下Anaconda安装常用指令以及环境管理
    Git使用vi或vim命令打开、关闭、保存文件
    工作中遇到的问题总结
    学习 Python3 语言
  • 原文地址:https://www.cnblogs.com/yue-170305/p/10716010.html
Copyright © 2011-2022 走看看