find_in_set取反
时间: 2023-08-30 12:08:52 浏览: 398
在MySQL中,`FIND_IN_SET()` 函数用于在一个以逗号分隔的字符串列表中查找一个特定的字符串,并返回其在列表中的位置。如果要对 `FIND_IN_SET()` 函数的结果进行取反操作,可以使用 `NOT` 运算符。
以下是一个示例:
```sql
SELECT * FROM table_name
WHERE NOT FIND_IN_SET('search_string', column_name);
```
在上面的示例中,`table_name` 是要查询的表名,`column_name` 是包含以逗号分隔的字符串列表的列名,`search_string` 是要查找的字符串。该查询将返回不包含 `search_string` 的记录。
请注意,`FIND_IN_SET()` 函数返回的是字符串在列表中的位置,如果找不到该字符串,则返回 0。因此,在进行取反操作时,需要使用 `NOT` 运算符来判断是否为 0。
相关问题
MySQL中find_in_set()函数用法详解
MySQL中的`find_in_set()`函数是一个用于在一个字符串集中查找指定值的内置函数。这个函数主要用于处理SQL查询时,当需要检查某个值是否存在于由逗号分隔的一组值组成的集合(通常存储在单个列中)。
基本语法如下:
```sql
find_in_set(value, string_column)
```
- `value`: 需要查找的值。
- `string_column`: 字符串类型的列,其中包含用逗号分隔的一系列值。
例如,如果你有一个名为`items`的列,里面存储了如"1,2,3,4,5"这样的值,你可以这样使用它:
```sql
SELECT * FROM table_name WHERE find_in_set('3', items);
```
这将返回所有`items`列中包含数字3的行。
注意:
- `find_in_set()`区分大小写,所以`find_in_set('3', '1,2,3,4,5')`会返回0,而`find_in_set('3', '1,2,3,4,5')`会返回1。
- 如果你想判断某个值不在集合中,可以取反操作,即`IF(find_in_set('value', column) = 0, true, false)`。
阅读全文
相关推荐













