MySQL中的单行函数与分组函数

单行函数

1.字符函数

  • 函数说明范例
    length()返回参数的字节个数SELECT LENGTH(“hello”)//输出5
    concat()拼接字符串SELECT CONCAT(id,"_",onename) FROM ssm;
    upper()将字符大写SELECT UPPER(onename) FROM ssm;
    lower()将字符小写SELECT LOWER(email) FROM ssm;
    substr()截取字符SELECT SUBSTR(“杨过爱上了小龙女”,6,2)//输出小龙
    instr()返回子串,第一次出现的位置SELECT INSTR(“张无忌爱上了赵敏”,“赵敏”);//输出7
    trim()取出左右来两端的字符SELECT TRIM(“a” FROM “aaaaa张aaa无忌aaaa”);//输出张aaa无忌
    lpad()用指定的字符天实现左填充指定长度SELECT LPAD(“张无忌”,12,‘a’)//输出aaaaaaaaa张无忌
    rpad()用指定的字符实现右填充指定长度SELECT LPAD(“张无忌”,12,‘a’)//输出张无忌aaaaaaaaa
    replace()替换SELECT REPLACE (“张无忌爱上了周芷若”,“周芷若”,“赵敏”);//输出张无忌爱上了赵敏

2.数学函数

  • 函数说明范例
    round()四舍五入SELECT ROUND(-1.55);//输出-2 SELECT ROUND(1.646,2)//输出1.65
    ceil()向上取整SELECT CEIL(-1.02)//输出-1
    floor()向下取整SELECT FLOOR(-9.99)//输出-10
    truncate截断SELECT TRUNCATE(1.42645,2)//输出1.42
    mod()取余SELECT MOD(-5,3)//输出-2

3.日期函数

  • 函数说明范例
    NOW()返回当前日期SELECT NOW()//输出2021-07-17 10:41:30
    curdate返回当前的日期,不包含时间SELECT CURDATE()//输出2021-07-17
    curtime()返回当前的时间,不包含日期SELECT CURTIME()//输出10:43:47
    year()返回指定的年 同理可以返回指定的月、日、时、分、秒。SELECT YEAR(NOW())//输出2021.
  • 函数说明范例
    str_to_date将字符通过指定的格式转化为日期SELECT STR_TO_DATE(“7-17-2021”,"%m-%d-%Y")输出2021-07-17
    date_format将日期转化为字符SELECT DATE_FORMAT(“2021-07-17”,"%m月%d日%Y年")//输出07月17日2021年

4.流程控制函数

  • 函数说明范例
    if函数如同if-elseSELECT IF(10<5,“大”,“小”)//输出 大
    case函数如同switch case的效果SELECT id,onename,
    CASE id
    WHEN id<1000 THEN id1
    WHEN id BETWEEN 1000 AND 10000 THEN id
    2
    ELSE id*3
    END
    FROM ssm

分组函数

用于 统计使用

  • 函数说明
    AVG()返回某列的平均值
    COUNT()返回某列的行数
    MAX()返回某列的最大值
    MIN()返回某列的最小值
    SUM()返回某列之和
  • AVG():通过对表中行数计数并计算其列值之和,求得该列的平均值。AVG()可用来返回所有列的平均值,也可以用来返回特定列或行的平均值。

    • select AVG(price) from products
  • 注意:

    • 只用于单个列。AVG()只能用来确定特定数值列的平均值,而且列名必须作为函数参数给出。为了获得多个列的平均值,必须使用多个AVG()函数。
    • AVG()函数忽略列值为NULL的行。
  • COUNT():函数进行计数。可利用COUNT()确定表中行的数目或符合特定条件的行的数目。

  • COUNT()函数有两种使用方式:

    • 使用COUNT(*)对表中行的数目进行计数,不管表列中包含的是空值(NULL)还是非空值。
    • 使用COUNT(column)对特定列中具有值的行进行计数,忽略NULL值。
  • MAX():返回指定列中的最大值。MAX()要求指定列名.

  • 注意:

    • 对非数值数据使用MAX()虽然MAX()一般用来找出最大的数值或日期值,但许多(并非所有)DBMS允许将它用来返回任意列中的最大值,包括返回文本列中的最大值。在用于文本数据时,MAX()返回按该列排序后的最后一行。
    • MAX()函数忽略列值为NULL的行
  • MIN():的功能正好与MAX()功能相反,它返回指定列的最小值。与MAX()一样,MIN()要求指定列名

  • 注意:

    • 对非数值数据使用MIN()虽然MIN()一般用来找出最小的数值或日期值,但许多(并非所有)DBMS允许将它用来返回任意列中的最小值,包括返回文本列中的最小值。在用于文本数据时,MIN()返回该列排序后最前面的行。
    • MIN()函数忽略列值为NULL的行。
  • SUM()用来返回指定列值的和(总计)

  • SUM()函数忽略列值为NULL的行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值