码迷,mamicode.com
首页 > 其他好文 > 详细

03.常见函数

时间:2020-05-12 16:57:36      阅读:52      评论:0      收藏:0      [点我收藏+]

标签:功能   逻辑   lang   方法   其他   日期   数值   最大   包含   

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.常见函数

标签:功能   逻辑   lang   方法   其他   日期   数值   最大   包含   

原文地址:https://www.cnblogs.com/thetree/p/03_mysql.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!