FIND_IN_SET 的替换写法
时间: 2023-11-29 08:06:12 浏览: 103
PostgreSQL find_in_set 内核开发
5星 · 资源好评率100%
FIND_IN_SET函数可以用于在逗号分隔的字符串列表中查找一个字符串是否存在,如果存在则返回该字符串在列表中的位置。如果要替换FIND_IN_SET函数,可以使用LOCATE函数和CONCAT函数来实现。具体步骤如下:
1.使用LOCATE函数查找字符串在逗号分隔的列表中的位置,如果返回值大于0,则表示该字符串在列表中存在。
2.使用IF函数判断LOCATE函数的返回值是否大于0,如果大于0,则使用CONCAT函数将该字符串和逗号拼接起来,否则返回空字符串。
下面是示例代码:
```mysql
SELECT IF(LOCATE('abc', '123,abc,456') > 0, CONCAT('abc', ','), '') AS result;
```
该代码将在逗号分隔的字符串列表'123,abc,456'中查找字符串'abc',如果存在则返回'abc,',否则返回空字符串''。
阅读全文