find_in_set
时间: 2023-09-25 10:16:28 浏览: 82
`FIND_IN_SET` 是 MySQL 中的一个函数,用于在一个逗号分隔的字符串列表中查找一个特定的值,并返回其在列表中的位置。它的语法如下:
```
FIND_IN_SET(search_value, target_string)
```
其中,`search_value` 是要查找的值,`target_string` 是逗号分隔的字符串列表。如果找到了 `search_value`,则返回其在列表中的位置,否则返回 0。例如:
```
SELECT FIND_IN_SET('apple', 'apple,banana,orange') as position; -- 返回 1
SELECT FIND_IN_SET('peach', 'apple,banana,orange') as position; -- 返回 0
```
需要注意的是,`FIND_IN_SET` 函数只能用于逗号分隔的字符串列表,不能用于其他类型的数据列表。如果你想在其他类型的数据列表中查找特定的值,可以考虑使用 `IN` 关键字或 `FIND_IN_SET` 的替代函数。
相关问题
FIND_IN_SET
FIND_IN_SET是MySQL中的一个函数,用于在一个逗号分隔的字符串列表中查找指定的值,返回其在列表中的位置。其语法为:
FIND_IN_SET(needle, haystack)
其中,needle为待查找的值,haystack为逗号分隔的字符串列表。如果找到了,则返回该值在列表中的位置,否则返回0。例如,FIND_IN_SET('apple', 'banana,apple,orange')将返回2。
SELECT * FROM t01_di_cust_info where 1=1 and ( FIND_IN_SET(1,KEY_INDUSTRIAL_CHAIN) AND FIND_IN_SET(3,KEY_INDUSTRIAL_CHAIN) )
根据提供的引用内容,SELECT语句中的FIND_IN_SET函数用于在字符串列表中查找指定的值。在这个例子中,FIND_IN_SET函数用于在KEY_INDUSTRIAL_CHAIN字段的值中查找1和3。如果找到了这两个值,则返回true,否则返回false。
以下是一个示例SELECT语句的演示:
```sql
SELECT * FROM t01_di_cust_info
WHERE 1=1
AND (FIND_IN_SET(1, KEY_INDUSTRIAL_CHAIN) AND FIND_IN_SET(3, KEY_INDUSTRIAL_CHAIN))
```
这个SELECT语句将返回t01_di_cust_info表中满足以下条件的所有行:
- 1和3都在KEY_INDUSTRIAL_CHAIN字段的值中出现。
阅读全文