SELECT CONVERT(varchar(11),getdate(),101) -- mm/dd/yyyy
SELECT CONVERT(varchar(11),getdate(),103) -- dd/mm/yyyy
Vérifiez ça . Je suppose que D30.SPGD30_TRACKED_ADJUSTMENT_X est du type de données datetime.
C'est pourquoi j'utilise CAST()
fonction pour en faire une expression de caractère car CHARINDEX()
fonctionne sur l'expression des caractères.
De plus, je pense qu'il n'y a pas besoin de condition OU.
select case when CHARINDEX('-',cast(D30.SPGD30_TRACKED_ADJUSTMENT_X as varchar )) > 0
then 'Score Calculation - '+CONVERT(VARCHAR(11), D30.SPGD30_TRACKED_ADJUSTMENT_X, 103)
end
MODIFIER :
select case when CHARINDEX('-',D30.SPGD30_TRACKED_ADJUSTMENT_X) > 0
then 'Score Calculation - '+
CONVERT( VARCHAR(11), CAST(D30.SPGD30_TRACKED_ADJUSTMENT_X as DATETIME) , 103)
end
Voir ce lien pour la conversion vers d'autres formats de date :https://www.w3schools.com/sql /func_sqlserver_convert.asp