扩展:判断外部值是否在 num列值中
find_in_set
instr
字符串转多列
需求描述
数据库中 num字段值为:
实现的效果:需要将一行数据变成多行
实现的sql
SELECT..., to_str)
参数名 解释
str 需要进行替换的字符串
from_str 需要被替换的字符串
to_str 需要替换的字符串
举例
将分隔符逗号替换为空...num列值中
【5.1】find_in_set
如果匹配到了会得出1;如下图
实际业务中,我们只需要 where find_in_set(id,ids)>0
就可以判断出;id列,是否在 ids...确保字符串能完全匹配
字符串转多列
SELECT
-- 截取第一个逗号前边的数据,即为第一个字符串
substring_index( ids, ',', 1 ) id1,
-- 在52,15字符串中...',', 2 ), 1 )+ 1 ) id2,
-- 将第一个字符串和第二个字符串的长度+2(两个逗号),从这个位置开始截取即为第三个字符串
SUBSTR(
ids,
LENGTH(
CONCAT