SELECT CONVERT(varchar(11),getdate(),101) -- mm/dd/yyyy
SELECT CONVERT(varchar(11),getdate(),103) -- dd/mm/yyyy
Виж това . Предполагам, че D30.SPGD30_TRACKED_ADJUSTMENT_X е от тип данни datetime.
Ето защо използвам CAST()
функция, за да го направи като символен израз, защото CHARINDEX()
работи върху изразяването на знаците.
Също така мисля, че няма нужда от условие ИЛИ.
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
РЕДАКТИРАНЕ:
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
Вижте тази връзка за преобразуване в други формати на дата:https://www.w3schools.com/sql /func_sqlserver_convert.asp