2016-05-11 80 views
-2

我有下面的案例陳述,我將它插入到一個新表中。新表下的列是Varchar,但我需要它作爲INT。我使用Alter語句更改了數據類型,但我頻繁地刪除並創建了同一個表。有沒有辦法讓新表創建INT的數據類型而不是varchar的下面的語法?SQL Server - 2008列數據類型

CASE WHEN F.END_DATE IS NOT NULL OR F.REASON IS NOT NULL THEN '0' ELSE '1' END Enrolled' 
+2

如果你想要一個'INT',而不是'VARCHAR'然後**爲什麼**你是否使用'THEN'0'ELSE'1'END'而不是'THEN 0 ELSE 1 END'? – Lamak

回答

1

擺脫單引號的周圍0和1:

CASE WHEN F.END_DATE IS NOT NULL OR F.REASON IS NOT NULL THEN 0 ELSE 1 END Enrolled' 
0

嘗試以下:

CASE WHEN coalesce(F.END_DATE,F.REASON ,0)=0 THEN 0 ELSE 1 END Enrolled 
相關問題