sql - 在 SQL Server View 中使用 IF

标签 sql sql-server tsql views conditional

我在 SQL Server 中有一个 View ,可以将一种模式版本转换为另一种模式版本。
目前, View 如下所示:

SELECT newValue AS oldValue  
FROM dbo.MyTable

问题在于,在新架构中,newValue 不可为空,因此我们将其设置为 -1 以表示空字段,但在旧架构中,它是可为空的。

我怎样做才能达到以下效果:

SELECT  
(  
  IF( newValue > -1 )  
    newValue as oldValue  
  ELSE  
    NULL as oldValue
)  
FROM dbo.MyTable

最佳答案

SELECT  
  case when newValue > -1 then  
    newValue  
  else  
    NULL
  end as oldValue
FROM dbo.MyTable

关于sql - 在 SQL Server View 中使用 IF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3517062/

相关文章:

sql - PostgreSQL 比较两个 float8 列数据类型

mysql - 多个表的连接出错

c# - 如何从 Windows 10 UWP 应用程序连接到 SQL 服务器数据库

sql-server - SQL 服务器 2008 R2 : ROW_NUMBER()

SQL 浮点精度限制为 6 位

sql-server - 检查 XML 元素是否在 SQL 中标记为 `xsi:nil`

c++ - SQL Server native 客户端 API 示例

php - 连接后计算表中的行数

sql - 通过重新排序行和列来对二维表进行排序

SQL Server 将标识符传递给存储过程/动态 SQL