翼度科技»论坛 编程开发 mysql 查看内容

MYSQL——mysql检索不包含字母U的数据

3

主题

3

帖子

9

积分

新手上路

Rank: 1

积分
9
2024/07/09
1. NOT LIKE
2. IS NOT、、!=
3. NOT IN
如题,正确答案如下:
  1. SELECT *
  2. FROM your_table_name
  3. WHERE your_column_name NOT LIKE '%U%';
复制代码
今天写类似检索语句时,脑子突然一懵,写成了IS NOT '%UD%',如下:
  1. SELECT *
  2. FROM your_table_name
  3. WHERE your_column_name IS NOT '%D%';
复制代码
IS NOT 等价于或者!=,表示不等于,而非不包含,不过IS NOT常用于IS NOT NULL,或者!=后则通常跟具体字段值。
IS NOT '%D%'这种表达是不正确的,它试图将一个字段与包含通配符 % 的字符串进行比较,这在 SQL 中是不允许的。通配符 % 通常用于 LIKE 或 NOT LIKE 操作符中,而不是用于 =、、!= 或 IS NOT 这样的比较操作符
还有一个NOT IN,我觉得也有必要记到此处。
NOT IN可以排除多个特定的值,大约相当于把好几个!=或合并了,案例如下:
  1. SELECT *
  2. FROM your_table_name
  3. WHERE your_column_name NOT IN ('U', 'another_value');
复制代码
  1. SELECT *
  2. FROM your_table_name
  3. WHERE your_column_name != 'U'
  4.   AND your_column_name != 'another_value';
复制代码
  1. SELECT *
  2. FROM your_table_name
  3. WHERE your_column_name <> 'UD'
  4.   AND your_column_name <> 'another_value';
复制代码
来源:https://www.cnblogs.com/lidadudu/p/18292185
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具