2024/07/09
 1. NOT LIKE
 2. IS NOT、<>、!=
 3. NOT IN
如题,正确答案如下:
SELECT *
FROM your_table_name
WHERE your_column_name NOT LIKE '%U%';
今天写类似检索语句时,脑子突然一懵,写成了IS NOT '%UD%',如下:
SELECT *
FROM your_table_name
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可以排除多个特定的值,大约相当于把好几个!=或<>合并了,案例如下:
SELECT *
FROM your_table_name
WHERE your_column_name NOT IN ('U', 'another_value');
SELECT *
FROM your_table_name
WHERE your_column_name != 'U'
  AND your_column_name != 'another_value';
SELECT *
FROM your_table_name
WHERE your_column_name <> 'UD'
  AND your_column_name <> 'another_value';
© 版权声明
本站所有资源来自于网络,仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您(转载者)自己承担!
如有侵犯您的版权,请及时联系3500663466#qq.com(#换@),我们将第一时间删除本站数据。
如有侵犯您的版权,请及时联系3500663466#qq.com(#换@),我们将第一时间删除本站数据。
THE END
    
















 

暂无评论内容