我試圖用CASE
到包括使用以下字符和NULL
和空白項組表內容:SQL CASE INT轉換
SELECT COUNT(*) AS Clients,
CASE WHEN t.Diagnosedin = 'Unknown' OR t.Diagnosedin ='' THEN 'Unknown'
ELSE CASE WHEN CAST((CAST(DATENAME(Year,GETDATE()) AS INT)- t.Diagnosedin)AS varchar(5)) =1 THEN 1
ELSE CASE WHEN CAST((CAST(DATENAME(Year,GETDATE()) AS INT)- t.Diagnosedin)AS varchar(5)) <=2 THEN 2
ELSE CASE WHEN CAST((CAST(DATENAME(Year,GETDATE()) AS INT)- t.Diagnosedin)AS varchar(5)) <=5 THEN 5
ELSE CASE WHEN CAST((CAST(DATENAME(Year,GETDATE()) AS INT)- t.Diagnosedin)AS varchar(5)) <=10 THEN 10
ELSE CASE WHEN CAST((CAST(DATENAME(Year,GETDATE()) AS INT)- t.Diagnosedin)AS varchar(5))>=10 THEN '+10 '
END
END
END
END
END
END AS Years
我收到以下錯誤:Conversion failed when converting the varchar value 'Unknown' to data type int.
,我使用MS SQL 2008 。 在此先感謝。
謝謝,它工作,除了我得到兩行與未知? – hncl
聽起來就像您的表格中有兩行,其中「Diagnosedin」的值爲空或「未知」。你可能需要一個GROUP BY子句來幫助。 –
感謝您的幫助,會做。 – hncl