SELECT CONVERT(varchar(11),getdate(),101) -- mm/dd/yyyy
SELECT CONVERT(varchar(11),getdate(),103) -- dd/mm/yyyy
Verifique isso. Estou assumindo que D30.SPGD30_TRACKED_ADJUSTMENT_X é do tipo de dados datetime.
É por isso que estou usando
CAST()
função para torná-lo como uma expressão de caractere porque CHARINDEX()
funciona na expressão de caracteres.Também acho que não há necessidade de condição 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
EDITAR:
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
Veja este link para conversão para outros formatos de data:https://www.w3schools.com/sql /func_sqlserver_convert.asp