03.常见函数

Posted thetree

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了03.常见函数相关的知识,希望对你有一定的参考价值。

03.常见函数

调用方法:

SELECT 函数名(实参列表)[from 表名];

分类:

  1. 单行函数

    如:concat、length、ifnull、is null等

    1. 字符函数

      #length函数——返回当前参数的字节数

      注:若字符集使用的是gbk则一个汉字占2个字节,若是utf8则为3个字节

      #concat函数——拼接字符

      #upper、lower函数——转换大小写函数

      注:UPPER(str),将str转换为大写字母返;LOWER(str),将str转换为小写字母返回

      #substr,substring——截取字符串

      注:截取从指定索引处后面的所有字符,索引从1开始

      #instr——返回子串第一次出现的索引,如果找不到则返回0

      #trim——去"首尾"的制定字符,若不指定则默认为去掉空格

      #lpad——在左边用指定字符进行填充并且返回对应长度的字符结果

      #rpad——在右边用指定字符进行填充并且返回对应长度的字符结果

      #replace——用指定字符值替换指定字符值

    2. 数字函数

      #round——对传入的参数四舍五入并返回

      #ceil——向上取整,返回该参数的最小整数

      #floor——向下取整,返回该参数的最小整数

      #truncate——截断,TRUNCATE(A,B),A要被处理的参数,B截断后的小树点位数

      #mod——取余,MOD(a,b),返回的取余结果的正负值取决于参数a

    3. 日期函数

      #now——返回当前系统日期+时间

      #curdate——返回当前系统日期,不包含时间

      #curtime——返回当前系统时间,不包含日期

      #year、month、day、hour、minute、second——用于获取指定的部分,年、月、日、时、分、秒

      #str_to_date——将日期格式的字符转换成指定格式的日期

      #date_format——将日期转换成字符

    4. 其他函数

      #version——返回当前mysql的版本

      #database——返回当前打开的数据库

      #user——返回当前的用户

    5. 流程控制函数

      #if函数

      IF(expr1,expr2,expr3),expr1:条件或逻辑表达式,若真则返回expr2,假则返回expr3

      #case函数

      1. switch case的效果

        case 要判断的字段或表达式
        
        when 常量1 then 要显示的值1或语句1;
        
        when 常量2 then 要显示的值2或语句2;
        
        …
        
        else 常量n then 要显示的值n或语句n;
        
        end;
        
      2. 类似于多重if的效果

        case 要判断的字段或表达式
        
        when 条件1 then 要显示的值1或语句1;
        
        when 条件2 then 要显示的值2或语句2;
        
        …
        else 条件n then 要显示的值n或语句n;  
        
        end
        
  2. 分组函数

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

    #sum(求和)、avg(平均值)、max(最大值)、min(最小值)、count(计数)

    特点:

    1. 以上分组函数中都是可以忽略null值 (其中count本身就是计算非null值得个数)

    2. sum和avg函数的参数一般只能处理数值型,而max、min以及count可针对任意类型的参数

    注:和分组函数一同查询的字段要求是group by 后的字段

    #组合使用:

    SELECT
    
    SUM(salary) 和,
    
    ROUND(AVG(salary),2) 平均, #嵌套使用round()函数,将值保留至小数点后面2位
    
    MAX(salary) 最大值,
    
    MIN(salary) 最小值,
    
    COUNT(salary) 总数
    
    FROM 表名;
    

    #与DISTINCT(去重)关键字搭配使用

    SELECT SUM(DISTINCT salary),SUM(salary) FROM 表名;
    

    #count函数详细介绍

    count(*)——对行的数目进行计算,包含NULL

    count(column)——对特定的列的值具有的行数进行计算,不包含NULL值

    注:

    1. count()还有一种使用方式count(1),count(1)和count(*)的结果是一样的
    2. 任何情况下select count(*) from 表名;是最优选择
    3. 如果表没有主键,那么count(1)比count(*)快;如果有主键,那么count(主键,联合主键)比count(*)快;如果表只有一个字段,count(*)最快
    4. count(1)跟count(主键)一样,只扫描主键;count(*)跟count(非主键)一样,扫描整个表

以上是关于03.常见函数的主要内容,如果未能解决你的问题,请参考以下文章

Alfred常见使用

13 个非常有用的 Python 代码片段

超级有用的9个PHP代码片段

如何从片段 KOTLIN 中调用意图 [重复]

VSCode自定义代码片段——声明函数

VSCode自定义代码片段8——声明函数