Hola laulaurys:
En SQL Server no puedes utilizar el IF en un select, debes utilizar un CASE-WHEN, sería más o menos así:
Código SQL:
Ver originalDECLARE @tabla TABLE (id INT, fecha datetime)
INSERT INTO @tabla VALUES (1, '1900-01-01')
INSERT INTO @tabla VALUES (2, '1900-01-02')
INSERT INTO @tabla VALUES (3, '1900-01-01')
INSERT INTO @tabla VALUES (4, '1900-01-01')
INSERT INTO @tabla VALUES (5, '1900-01-03')
SELECT id,
CASE WHEN fecha = '1900-01-01' THEN NULL ELSE fecha END fecha
FROM @tabla
el resultado de esto sería
Código SQL:
Ver originalid fecha
----------- -----------------------
1 NULL
2 1900-01-02 00:00:00.000
3 NULL
4 NULL
5 1900-01-03 00:00:00.000
hay que tener cuidado con el tipo de dato, pues no puedes asignar ('') a un campo tipo fecha, es por eso que lo pongo como NULL, si quieres asignar ('') habría que convertir el campo a tipo varchar:
Código SQL:
Ver originalSELECT id,
CASE WHEN fecha = '1900-01-01' THEN '' ELSE CONVERT(VARCHAR, fecha, 103) END fecha
FROM @tabla
Saludos
Leo