SELECT CONVERT(varchar(11),getdate(),101) -- mm/dd/yyyy
SELECT CONVERT(varchar(11),getdate(),103) -- dd/mm/yyyy
Mira esto . Supongo que D30.SPGD30_TRACKED_ADJUSTMENT_X es del tipo de datos de fecha y hora.
Es por eso que estoy usando CAST()
función para convertirlo en una expresión de carácter porque CHARINDEX()
funciona en la expresión de caracteres.
También creo que no hay necesidad de la condición 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
Consulte este enlace para la conversión a otros formatos de fecha:https://www.w3schools.com/sql /func_sqlserver_convert.asp