Ввод и вывод является церковными цифрами (т.е. натуральное число k
\f n. f^k n
; так 3 = \f n. f (f (f n)))
(\x. x x) (\y f. f (y y f)) (\y n. n (\x y z. z) (\x y. x) (\f n. f n) (\f. n (y (\f m. n (\g h. h (g f)) (\x. m) (\x. x)) f)))
Как насчет объединения COALESCE и NULLIF.
SELECT COALESCE(NULLIF(SomeColumn,''), ReplacementColumn)
FROM SomeTable
Вы можете использовать оператор CASE
для этого
select
Case WHEN Column1 = '' OR Column1 IS NULL OR LEN (TRIM (Column1)) = 0
THEN Column2
ELSE Column1 END as ColumnName
from TableName
РЕДАКТИРОВАТЬ: Вы не можете использовать IF ()
в mssql.
Используйте оператор IF в части SELECT вашего SQL:
SELECT IF(field1 != '', field1, field2) AS myfield FROM ...
Вы всегда можете написать функцию isBlank () , что-то вроде
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