Sql查询字段中不包含某值得数据
时间: 2023-08-26 19:03:32 浏览: 160
可以使用 NOT LIKE 操作符来查询字段中不包含某个值的数据。例如,查询名字中不包含 "John" 的所有人的记录,可以使用以下 SQL 查询语句:
```
SELECT * FROM people WHERE name NOT LIKE '%John%';
```
这将返回所有名字中不包含 "John" 的人的记录。注意,LIKE 操作符用于模糊匹配,% 符号表示零个或多个字符的通配符。因此,NOT LIKE '%John%' 表示名字中不包含 "John" 的任何字符串。
相关问题
Sql查询多字段,其中某字段中不包含某值得数据
你可以使用 NOT LIKE 操作符来查询某个字段中不包含某个值的数据。
例如,假设你有一个名为"employees"的表,其中包含 "name" 和 "email" 两个字段,你想要查询所有不包含 "gmail.com" 的邮箱地址的员工,可以使用以下 SQL 语句:
```
SELECT name, email
FROM employees
WHERE email NOT LIKE '%gmail.com';
```
上述 SQL 语句中的 % 符号是通配符,表示可以匹配任意字符。因此,NOT LIKE '%gmail.com' 就表示不包含 "gmail.com" 的邮箱地址。
Sql查询字段中5-9字符不包含某值得数据
可以使用SQL中的LIKE运算符和通配符进行筛选。
假设你要查询一个名为"table_name"的表中,字段名为"field_name"的数据,要求该字段中5-9字符不包含值"abc",可以使用以下语句:
```
SELECT * FROM table_name WHERE field_name LIKE '_____[^abc]%';
```
这里的"_"表示匹配任意单个字符,"[]"表示匹配其中任意一个字符,"^"表示取反,所以"[^abc]"表示匹配除了"a"、"b"、"c"之外的任意一个字符,最后的"%"表示匹配任意数量的字符。所以,整个LIKE表达式的意思是:匹配字段中前四个字符是任意字符,第五个字符不是"a"、"b"、"c",后面的字符可以是任意字符的数据。
注意,这种方式只适用于字段长度大于9的情况,否则会漏掉一些数据。如果需要匹配长度小于9的字段,可以使用SUBSTR函数和NOT关键字实现,具体方法如下:
```
SELECT * FROM table_name WHERE NOT SUBSTR(field_name, 5, 5) LIKE '%abc%';
```
这里的SUBSTR函数表示获取字段中从第五个字符开始的五个字符,然后使用NOT关键字取反,再使用LIKE匹配是否包含"abc",最终得到不包含"abc"的数据。
阅读全文