mysql 的 FIND_IN_SET group_concat 函数
FIND_IN_SET 函数
此函数适合多选条件保存在一个字段中的情景,查询是否满足条件时用 find_in_set 函数
复制代码
strlist 字段名 参数以”,”分隔 如 (1,2,3)
如某项业务支持的地区数据库存放地区的编码 area 字段 'c001,c002,c003',用来检测某业务是否符合地区 c001 的 sql 如下
复制代码
concat 函数
常用的链接字符函数语法:
复制代码
演示:
复制代码
在 mybatis 中常用来拼接 %来进行模糊查询
复制代码
concat_ws()函数
含义:
和 concat()一样,将多个字符串连接成一个字符串,但是可以一次性指定分隔符~(concat_ws 就是 concat with separator)
2. 语法:
concat_ws(separator, str1, str2, ...)
说明:第一个参数指定分隔符。需要注意的是分隔符不能为 null,如果为 null,则返回结果为 null。
复制代码
group_concat
FIND_IN_SET 在数据库中多个值存放在一个字段中,group_concat 正好相反,数据库中存放多条记录,分组查询后变成一条语句。
函数语法:
复制代码
如订单商品,一个订单有多个商品,想统计订单购买了哪些商品 sku 表结构大致:order_no,sku_no 等统计 sql 如下
复制代码
指定分割符号,默认","
复制代码
查询结果大致:
此函数在一些数据统计中经常使用。
评论