MYSQL FIND_IN_SET函数
时间: 2023-06-28 13:04:10 浏览: 101
mysql通过find_in_set()函数实现where in()顺序排序
MySQL中的FIND_IN_SET函数用于在一个逗号分隔的字符串列表中查找一个字符串,并返回它在列表中的位置。该函数的语法如下:
```
FIND_IN_SET(str, strlist)
```
其中,str是要查找的字符串,strlist是逗号分隔的字符串列表。如果找到了str,则返回它在strlist中的位置,否则返回0。
例如,假设有以下数据:
```
id | name | tags
---|------|-----
1 | Tom | 1,3,5
2 | Jack | 2,4
3 | Lucy | 1,2,5
```
现在想要查找所有包含标签1的记录,可以使用FIND_IN_SET函数:
```
SELECT * FROM table_name WHERE FIND_IN_SET('1', tags) > 0;
```
这将返回id为1和3的记录,因为它们的tags字段包含1。注意,由于FIND_IN_SET函数返回的是位置,而不是布尔值,所以需要使用大于0的比较运算符来判断是否找到了字符串。
阅读全文