我试图用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