在SQL Server中使用IF查看

问题描述:

我在SQL服务器中有一个视图,它可以从一个模式版本转换为另一个模式版本。
目前,该观点是这样的:在SQL Server中使用IF查看

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 
+0

+1:由11秒打我 – 2010-08-18 22:04:32

+0

真棒,非常感谢:)我会标志作为回答,只要它可以让我。 – b34r 2010-08-18 22:10:23

+0

这是如何比较速度明智与合并? – 2010-08-26 13:06:44