SQL语句中FIND_IN_SET(str,strlist)的使用

FIND_IN_SET(str,strlist)语法解释:

1.参数说明:
  1. str: 要查询的字符串参数
  2. strlist: 查询参数字段名,该字段名以‘,’分割的形式存储,例:(1,2,3)
2.返回结果:

查询strlist是否包含str,如果包含返回该数据,反之则返回null.

FIND_IN_SET(str,strlist)应用场景

例如:有个表存着userId字符串,查询用户ID为‘1’的用户包含在userId字符串中的数据。这时候就要用FIND_IN_SET(str,strlist)来解决。

例如写一个测试sql,如下语句:
CREATE TABLE `test` (
`id` int(8) NOT NULL auto_increment,
`userId` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
)

INSERT INTO `test` VALUES (1, '1,2,3');
INSERT INTO `test` VALUES (2, '2,3,4');
INSERT INTO `test` VALUES (3, '1,7,9');

查询用户ID为1包含在userId中的数据。
SELECT * from test t WHERE FIND_IN_SET(‘1’,t.userId)
返回结果如下:
在这里插入图片描述
总结:综合上述是对Find_IN_SET 的语法的一个解释和应用场景说明,注意Find_IN_SET 是精确匹配,字段值以英文”,”分隔。

你可能感兴趣的:(SQL)