[英]How to use ternary operator in SQL Server 2008?
SQL查询:
SELECT *
FROM Account
WHERE (type <>100000002 ? Id='something': Id=null)
但它显示错误:
“?”附近的语法不正确
请帮我。
这适用于SQL Server。 IIF
在SQL Server 2008或更早版本中不可用。
SELECT *
FROM Account
WHERE
Id=IIF(type<> 100000002,"something",null )
如果您使用的是SQL Server 2008或更早版本,请尝试此操作。
SELECT *
FROM Account
WHERE (Id= CASE WHEN type <>100000002 THEN 'something' ELSE null END)
你可以这样做 :
SELECT *
FROM Account
where (type <>100000002 and Id='something') or (type =100000002 and id is null)
要么
SELECT *
FROM Account
where isnull(id,'_null_')= case when type <>100000002 then 'something' else isnull(id,'_null_') end
SELECT *
FROM Account
WHERE (Id= CASE WHEN type <>100000002 THEN 'something' ELSE null END)
使用以下内容:
SELECT *
FROM Account
WHERE (Id= CASE WHEN type != 100000002 THEN 'something' ELSE null END)
要么
SELECT *
FROM Account
WHERE (Id= CASE WHEN type <> 100000002 THEN 'something' ELSE null END)
SELECT *
FROM Account
where (type <>100000002 and Id='something') or (type =100000002)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.