mysql 不包含某一字符串
时间: 2023-11-13 18:03:53 浏览: 92
你可以使用 SQL 中的 "NOT LIKE" 来排除包含特定字符串的记录。以下是一个示例查询:
```sql
SELECT * FROM your_table WHERE your_column NOT LIKE '%your_string%';
```
在这个查询中,`your_table` 是你的表名,`your_column` 是要筛选的列名,`your_string` 是你想要排除的字符串。使用 `%` 符号可以匹配任意字符。
请注意,这只是一个示例查询,你需要根据你的实际情况进行调整。
相关问题
mysql不包含某个字符串
在MySQL中,有几个字符串函数可以用来判断一个字段是否包含某个字符串。其中包括INSTR、POSITION和find_in_set函数。
INSTR函数的用法是:INSTR(字段名称, 单个字符串)。它返回的是字符串在字段中第一次出现的位置。如果字段不包含该字符串,则返回0。例如,SELECT INSTR('3,5,2,14','5') as test; -> 3。这个例子中,字段包含字符串'5',所以返回的位置是3。\[1\]
POSITION函数的用法和INSTR函数类似:POSITION(单个字符串 in 字段名称)。它也返回字符串在字段中第一次出现的位置。如果字段不包含该字符串,则返回0。例如,SELECT POSITION('5' in '3,5,2,14') as test; -> 3。这个例子中,字段包含字符串'5',所以返回的位置是3。\[2\]
另外,还有一个特殊的函数find_in_set可以用来判断一个字段是否包含某个字符串。它的用法是:find_in_set(5, 字段名称)。如果字段中包含该字符串,则返回大于等于1的值;如果字段不包含该字符串,则返回0。例如,SELECT find_in_set('5', '3,5,2,14') as test; -> 2。这个例子中,字段包含字符串'5',所以返回的值是2。\[3\]
所以,如果你想判断一个字段是否包含某个字符串,你可以使用这些函数中的任意一个来实现。
#### 引用[.reference_title]
- *1* *2* *3* [mysql判断是否包含某字符串的方法](https://blog.csdn.net/IT_Wallace/article/details/102820653)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v4^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
mysql 字符串最后一出现某字符
可以使用MySQL内置函数`SUBSTRING_INDEX()`来实现查找字符串中最后一次出现某字符的位置。具体的语法如下:
```
SUBSTRING_INDEX(str, delim, count)
```
其中,`str`表示要进行查找的字符串;`delim`表示要查找的字符;`count`表示要返回的子串在字符串中出现的次数,如果为正数,就返回从左边开始数第`count`个分隔符之前的所有字符;如果为负数,就返回从右边开始数第`count`个分隔符之后的所有字符。
为了获取字符串中最后一次出现某字符的位置,我们可以将`count`设为`-1`,这样就可以返回从右边开始数第一个分隔符之后的所有字符,也就是字符串中最后一次出现某字符的位置。具体的语句如下:
```
SELECT LENGTH(str) - LENGTH(SUBSTRING_INDEX(REVERSE(str), REVERSE(delim), 1)) + 1 AS last_index FROM table_name;
```
其中,`str`表示要进行查找的字符串,`delim`表示要查找的字符,`table_name`表示要查询的表名。这个语句将返回字符串中最后一次出现某字符的位置。
值得注意的是,如果字符串中没有出现要查找的字符,那么上述语句将返回整个字符串的长度。为了避免这种情况,我们可以在查询之前先判断字符串中是否包含要查找的字符,如果不包含,就返回`NULL`。具体的语句如下:
```
SELECT IF(LOCATE(delim, str) > 0, LENGTH(str) - LENGTH(SUBSTRING_INDEX(REVERSE(str), REVERSE(delim), 1)) + 1, NULL) AS last_index FROM table_name;
```
这个语句将在字符串中包含要查找的字符时返回字符串中最后一次出现某字符的位置,否则返回`NULL`。