一些 mysql 的内置函数

本文深入讲解了SQL中的各种函数,包括字符串操作、条件判断、聚合计算及数据类型转换等,通过实例展示了CONCAT、FIND_IN_SET、IF、IFNULL、COUNT、SUM、AVG、MAX、MIN和CAST等函数的使用方法。

CONCAT(s1, s1, ...) :返回连接参数产生的字符串

FIND_IN_SET(str,strlist) :strlist是由 ',' 分隔的字符串,如果 str 不在 strlist 或者 strlist 为空字符串,则返回0;若任意一个参数为 NULL 则返回 NULL

IF(expr1,expr2,expr3) :如果 expr1 不为 0 或者 NULL,则返回 expr2 的值,否则返回 expr3 的值

IFNULL(expr1,expr2) :如果 expr1 不为 NULL,返回 expr1,否则返回 expr2

COUNT([DISTINCT] expr) :返回 select 中 expr 的非0值个数,返回值为 bigint 类型

SUM([DISTINCT] expr)  :求和

AVG([DISTINCT] expr) :返回expr的平均值,distinct选项用于忽略重复值

MAX([DISTINCT] expr) :求最大值

MIN([DISTINCT] expr) :求最小值

CAST( type1 as type2 ) :转换数据类型

CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result ...] [ELSE result] END
当 compare_value = value 时返回 result

CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END
当 condition 为 TRUE 时返回 result


-----------------------------------------------
例子:
    SELECT CASE 1 WHEN 1 THEN 'one'
        WHEN 2 THEN 'two' ELSE 'more' END;         #'one'
        
    SELECT CASE WHEN 1>0 THEN 'true' ELSE 'false' END;    #'true'
    
    SELECT CASE BINARY 'B'
        WHEN 'a' THEN 1 WHEN 'b' THEN 2 END;     #NULL

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值