Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come convertire il formato della data di sistema in gg/mm/aa in SQL Server 2008 R2?

   SELECT CONVERT(varchar(11),getdate(),101)  -- mm/dd/yyyy

   SELECT CONVERT(varchar(11),getdate(),103)  -- dd/mm/yyyy

Verificare questo . Presumo che D30.SPGD30_TRACKED_ADJUSTMENT_X sia di tipo datetime.
Ecco perché sto usando CAST() funzione per renderlo un'espressione di carattere perché CHARINDEX() funziona sull'espressione dei caratteri.
Inoltre penso che non sia necessaria la condizione OR.

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

MODIFICA:

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

Vedere questo collegamento per la conversione in altri formati di data:https://www.w3schools.com/sql /func_sqlserver_convert.asp