MySQL:排除特定字符串的查询
在MySQL中,您可以使用`NOT LIKE`或`NOT REGEXP`运算符来排除不包含特定字符串的行。
MySQL:排除特定字符串的查询
`NOT LIKE`
`NOT LIKE`运算符可以排除不包含特定模式的行。模式可以使用百分号(%)作为通配符。
```sql SELECT FROM table_name WHERE column_name NOT LIKE '%string%'; ```
例如,要排除不包含"John"字符串的行,可以使用以下查询:
```sql SELECT FROM table_name WHERE column_name NOT LIKE '%John%'; ```
`NOT REGEXP`
`NOT REGEXP`运算符可以排除不匹配特定正则表达式的行。正则表达式使用圆括号(())、方括号([])、连字符(-)和特殊字符(如`d`和`w`)。
```sql SELECT FROM table_name WHERE column_name NOT REGEXP 'pattern'; ```
例如,要排除不包含数字的行,可以使用以下查询:
```sql SELECT FROM table_name WHERE column_name NOT REGEXP 'd+'; ```
使用示例
以下是一些使用`NOT LIKE`和`NOT REGEXP`运算符的实际示例:
排除不包含字母"A"的行:
```sql SELECT FROM table_name WHERE column_name NOT LIKE '%A%'; ```
排除不匹配电子邮件地址格式的行:
```sql SELECT FROM table_name WHERE email NOT REGEXP '^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$'; ```
排除不包含电话号码的行:
```sql SELECT FROM table_name WHERE phone_number NOT REGEXP '^(+d{1,2})?d{9,10}$'; ```
注意事项
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系 836084111@qq.com 删除。