繁体   English   中英

SQL 服务器 CASE 表达式在 WHERE 子句中检查 NULL 值

[英]SQL Server CASE expression in WHERE clause to check NULL value

我尝试在 SQL 服务器中执行此查询:

select * from users where case when 1=1 then name is null else true end;

但我得到了这个错误:

关键字“is”附近的语法不正确

此查询在 MySQL 中成功运行。 你能告诉我这个查询在 SQL 服务器中的等效项吗?

你不能做这样的表达,语法是错误的。

如果要选择条件,则必须使用逻辑运算符:

where (1=1 and name is null)
   or (1<>1 and 1=1)

我将true替换为始终评估为 true ( 1=1 ) 的条件,因为true本身是查询中的另一个语法错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM