二、mysql中常见函数

概念:将一组逻辑语句封装在方法体中,对外暴露方法名

 

好处:1)隐藏了实现细节

   2)提高代码的重用性

 

调用:select 函数名(实参列表)【from 表】

 

特点:1)函数名

   2)函数功能

 

分类:1)单行函数

    如 concatlengthifnull

   2)分组函数

    功能:做统计使用,又称为统计函数、聚合函数、组函数

 

一、单行函数

1、字符函数

  1) length获取参数值的字节个数

 

  2) Concat拼接字符串

 

  3) Upperlower大小写转换

 

  4) Substrsubstring

    注意:索引从1开始

    #截取从指定索引处后面所有字符

    SELECT SUBSTR(‘abcdefg’,3) AS out_put;

    #截取从指定索引处指定字符长度的字符

    SELECT SUBSTR(‘abcdefghi’,2,4) AS out_put;

 

  5) Instr 返回子串第一次出现的索引,否则返回0

    SELECT INSTR(‘abcdef’,’bcd’) AS out_put;

 

  6) Trim

    SELECT TRIM(‘  abc  ’) AS out_put;

    SELECT TRIM(‘a’ FROM ‘aaaaaahhaaahhaaaa’) AS out_put;

 

  7) lpad用指定的字符实现左填充指定长度

    SELECT LPAD(‘hahaha’,2,’*’) AS out_put;

 

  8) Rpad用指定的字符实现右填充指定长度

    SELECT RPAD(‘hahaha’,2,’*’) AS out_put;

 

  9) replace替换

    SELECT REPLACE(‘hahahaleleleha’,’ha’,’mo’) AS out_put;

2、数学函数

  1) Round 四舍五入

    SELECT ROUND(-1.55)

 

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

  SELECT CEIL(1.02);

 

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

 

  4) Truncate截断

    SELECT TRUNCATE(1.69999,1);

  5) mod取余

    SELECT MOD(10,-3);

    SELECT 10%3;

3、日期函数

  1) now返回当前系统日期+时间

    SELECT NOW();

 

  2) Curdate返回当前系统日期,不包含时间

  SELECT CURDATE();

 

  3) CURTIME返回当前时间,不包含日期

    SELECT CURTIME();

 

  4) 可以获取指定的部分,年、月、日、小时、分钟、秒

    SELECT YEAR(NOW()) AS ;

 

  5) str_to_date:将日期格式的字符转换成指定格式的日期

    STR_TO_DATE(‘9-13-1999’,’%m-%d-%Y’)

 

  6) Date_format:将日期转换成字符

  DATE_FORMAT(‘2018/6/6’,’Y%m%d’)

  

4、其他函数 

  SELECT VERSION();

  SELECT DATABASE();

  SELECT USER();

5、流程控制函数

  1) if函数:if else的效果

  2) case函数

    a. Switch case的效果,等值判断

    语法:

      Case  要判断的字段或表达式

      When 常量1  then  要显示的值1或语句;

      When 常量2  then  要显示的值2或语句;

      ...

      Else  要显示的值n或语句n;

      End

      例子:

         SELECT salary AS 原始工资,department_id,

         CASE department_id

         WHEN 30 THEN salary*1.1

         WHEN 40 THEN salary*1.2

         ELSE salary

         END AS 新工资

         FROM employees;

    b. 多重if的效果,区间判断

    语法:

      CASE

      WHEN 条件1  then 要显示的值1或语句1

      WHEN 条件2  then 要显示的值2或语句2

      ...

      Else  要显示的值n或语句n;

      End

      例子:

        CASE

        WHEN salary>2000 THEN ‘A’

        WHEN salary>3000 THEN ‘B’

        ELSE ‘D’

        END AS 工资级别

        FROM employees;

二、分组函数

  功能:用作统计使用,又称为聚合函数或统计函数或组函数

  分类:sum求和、avg平均值、max最大值、min最小值、count计算个数

  特点:1)sumavg一般用于处理数值型

     2)maxmincount可以处理任何类型

            3)、分组函数忽略NULL

posted @ 2020-03-27 18:55  Norni  阅读(176)  评论(0编辑  收藏  举报