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