sql - 如何在SQL Server 2008中使用三元运算符?

标签 sql sql-server

SQL 查询:

SELECT * 
FROM Account 
WHERE (type <>100000002 ? Id='something': Id=null)

但它显示错误:

Incorrect syntax near '?'

请帮助我。

最佳答案

这是针对 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)

关于sql - 如何在SQL Server 2008中使用三元运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21526504/

相关文章:

sql - 使用 SQL 计算足球联赛积分榜

sql - 如何在 Oracle 10+ 中对包含 NULL 的列使用基于函数的索引?

mysql - 合并 CSV append header

sql-server - 缩小非常大的表上的数据类型

sql - 当 tvp 不包含任何行时,带有输入 tvp 参数的单个 SQL 查询

mysql - 如何使用 Mysql 从多行中获取多个平均值

mysql - sqlfiddle 中的 Bug 或者我不明白 INSERT ... ON DUPLICATE KEY UPDATE

sql - 什么是编写 Oracle SQL 的优质开发环境?

.net - SQL Server 2017 上的 CLR 严格安全性

java - 如何生成 JDBC 数据库 URL?