una todas solo seleccionar registros ocultar mostrar las excluir excepto consulta columnas columna campo sql sql-server-2000

todas - seleccionar todo excepto sql server



Seleccione la columna, si está en blanco seleccione de otro (4)

¿Qué hay de combinar COALESCE y NULLIF.

SELECT COALESCE(NULLIF(SomeColumn,''''), ReplacementColumn) FROM SomeTable

¿Cómo se detecta si un campo está en blanco (no es nulo) y luego selecciona otro campo si está?

Lo que realmente necesito es una función IsBlank que funcione igual que IsNull pero con espacios en blanco.

REPLACE no funciona con espacios en blanco, COALESCE solo funciona con NULLS.


EDITAR: No puede usar IF() en mssql.

Use una declaración IF en la parte SELECT de su SQL:

SELECT IF(field1 != '''', field1, field2) AS myfield FROM ...


Puedes usar una sentencia CASE para esto

select Case WHEN Column1 = '''' OR Column1 IS NULL OR LEN (TRIM (Column1)) = 0 THEN Column2 ELSE Column1 END as ColumnName from TableName


Siempre se puede escribir una función isBlank (), algo como

SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE FUNCTION isBlank ( @CheckExpression varchar, @ReplacementExpression varchar ) RETURNS varchar AS BEGIN IF @CheckExpression IS NOT NULL BEGIN IF @CheckExpression='''' or LEN(@CheckExpression) = 0 RETURN @ReplacementExpression ELSE RETURN @CheckExpression END RETURN @ReplacementExpression END GO