Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment convertir le format de date système en jj/mm/aa dans SQL Server 2008 R2 ?

   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