MySQL------ 函数

常见函数

  字符函数、数字函数、日期函数、流程控制函数

一、字符函数

  1、concat 拼接字符

    SELECT CONCAT ('hello',first_name,last_name) 备注
    FROM employees;

  2、length 获取字节长度

    select length(‘hello’);

  3、char_length 获取字符长度

    select char_length(‘hello’);

  4、substring 截取子串

    // 注意:起始索引从1开始,不是0

    select substr (str,起始索引,截取的字符长度);

  5、instr 获取字符第一次出现的索引,并显示第一次出现时所在的位置

  6、trim 去前后指定的字符,默认是去空格

    select trim(‘    虚    竹    ’) as  a;

    select trim( 'x' from 'xxxxx 虚xxxx竹xxxxxxxx') as a;

  7、lpad/rpad 左填充 / 右填充

    select lpad('木婉清',10,'a');

  8、upper / lower 变大写 / 变小写

  9、strcmp 比较两个字符大小

  10、left / right (左/ 右)截取子串

 

二、数学函数

  1、abs 绝对值

    select abs (-2.4);

  2、ceil 向上取整    返回 >= 该参数的最小整数

    select ceil (-1.09);

  3、floor 向下取整,返回 <= 该含参数的最大整数    

  4、round 四舍五入

    select round(1.871234,2);

  5、truncate 截断  不同于四舍五入,他不进行四舍五入,而是直接取选中的数  

  6、mod 取余  <余数的正负数取决于被除数的正负>

    select mod(-10 ,3);

 

三、日期函数

  1、now 获取当前日期与时间

    select now();

  2、curdate 获取当前日期

    select curdate();

  3、curtime 获取当前时间

    select curtime();

  4、datediff 获取两个日期之差

    select datediff(‘1998-7-16’,‘2019-7-13’);

  5、date_format

    select date_format('1998-7-16','%Y年%m月%d日 %H小时%i分钟%s秒')  出生日期;

  6、str_to_date 按指定格式解析字符串为日期类型

    select * from employees 

    where hiredate < str_to_date('3/15 1998','%m/%d %Y');

 

四、流程控制函数

  1、if 函数

    select if( 100>9, '好','坏');

  2、case 函数

    情况1:

       case 表达式 

       when 值1 then 结果1

       when 值2 then 结果2

       .....

       else 结果n

       end

    情况2:类似于多重 if 语句,实现区间判断

 

五、分组函数

  说明:分组函数往往用于实现将一组数据进行统计计算,最终得到一个值,又称为聚合函数或统计函数

  分组函数清单:sum(字段名); 求和

         avg(字段名);求平均数

         max(字段名);求最大值

         min(字段名);求最小值

         count(字段名);计算非空字段值得个数

 

六、分组查询

  语法:   

    select 查询列表

    from 表名

    where 筛选条件

    group by 分组列表

    having 分组后筛选

    order by 排序列表

  执行顺序:from 子句 → where 子句 → group by 子句 → having 子句 → select 子句 → order by 子句

  特点:

    1、查询列表往往是:分组函数和被分组的字段

    2、分组查询中的筛选分为两类

                筛选的基表      使用的关键字

        分组前筛选   原始表        where

        分组后筛选   分组后的结果集    having

     where —— group —— having

    重点:分组函数做条件时,只可能放在 having 后面 !

 

posted @ 2020-05-14 11:27  昔の少年  阅读(181)  评论(0编辑  收藏  举报