find_in_set取反
时间: 2023-08-30 21:08:52 浏览: 399
在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。
相关问题
find_in_set函数
find_in_set函数是MySQL中的一个字符串函数,用于在一个逗号分隔的字符串列表中查找指定的字符串,并返回其在列表中的位置。该函数的语法如下:
```
find_in_set(str, strlist)
```
其中,str是要查找的字符串,strlist是逗号分隔的字符串列表。
下面是一个示例:
```sql
SELECT * FROM per WHERE find_in_set(id, '2,3,4,5,6');
```
这个示例中,find_in_set函数用于在per表中查找id字段的值在'2,3,4,5,6'这个字符串列表中的记录。
find_in_set函数的应用场景包括:
1. 在MySQL中进行字符串匹配和过滤。
2. 在查询中使用IN关键字时,可以使用find_in_set函数来替代IN关键字,提高查询性能。
3. 在处理逗号分隔的字符串列表时,可以使用find_in_set函数来查找指定字符串的位置。
WHERE FIND_IN_SET
在MySQL中,FIND_IN_SET函数用于在逗号分隔的字符串中查找指定的值。它的语法如下:
```sql
FIND_IN_SET(value, string)
```
其中,value是要查找的值,string是逗号分隔的字符串。该函数返回值为0或大于0的整数,表示找到了值的位置,如果未找到则返回0。
以下是一个示例,演示了如何在WHERE子句中使用FIND_IN_SET函数:
```sql
SELECT * FROM table_name WHERE FIND_IN_SET('2', column_name) > 0;
```
上述示例中,我们在表table_name中的column_name列中查找值为2的记录。
请注意,FIND_IN_SET函数的性能可能不是很高,因为它需要对逗号分隔的字符串进行拆分和比较。如果可能的话,最好将数据存储为规范化的形式,以便更有效地进行查询。
阅读全文
相关推荐
















