J'utilise la requête ci-dessous, mais obtenir l'erreurdéclaration dans laquelle CASE si tous les résultats sont Varchar
'Conversion failed when converting the varchar value '8-14' to data type int.'
je présume sa parce que la deuxième ligne est un retour entier et le reste n'est pas, est-ce pas ?
Je ne vais pas calculer ce champ, donc si tous doivent avoir le même type de valeur, avoir la deuxième ligne retour comme varchar serait bien .J'ai essayé d'utiliser 'convertir' mais je ne sais pas Je pense que ma syntaxe est bonne.
,(case when AppointmentCancellationDate = null Then 'NoDate'
when (datediff(day,BasicStartDate,AppointmentCancellationDate)) < '8' then (datediff(day,BasicStartDate,AppointmentCancellationDate))
when (datediff(day,BasicStartDate,AppointmentCancellationDate)) <15 then '8-14'
when (datediff(day,BasicStartDate,AppointmentCancellationDate)) <22 then '15-21'
Else '+22' end) as CancWindowGroup
On dirait que ça marche –
et changez de '<'8'' à' <8' –
Et changez '= null' en' est nul' – TriV