2010-08-18 67 views
1

我在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 

回答

7
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