Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie konvertiere ich das Systemdatumsformat in SQL Server 2008 R2 in TT/MM/JJ?

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

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

Überprüfen Sie dies . Ich gehe davon aus, dass D30.SPGD30_TRACKED_ADJUSTMENT_X vom datetime-Datentyp ist.
Deshalb verwende ich CAST() Funktion, um es als Zeichenausdruck zu machen, weil CHARINDEX() Funktioniert mit Zeichenausdruck.
Außerdem denke ich, dass keine ODER-Bedingung erforderlich ist.

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

BEARBEITEN:

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

Siehe diesen Link für die Konvertierung in andere Datumsformate:https://www.w3schools.com/sql /func_sqlserver_convert.asp