set val=isnull(FLD380,'Null')
* SPACE('') についても同じステートメントを書く必要があります。このような
set val=space(FLD380,'Space')
set val=isnull(FLD380,'Null')
* SPACE('') についても同じステートメントを書く必要があります。このような
set val=space(FLD380,'Space')
具体的に求めているのは、ユーザー定義関数です。この構文は SQL Server 用であることに注意してください。
CREATE FUNCTION IsSpace (
@check_expression NVARCHAR(max),
@replacement_value NVARCHAR(max)
)
RETURNS NVARCHAR(MAX)
BEGIN
IF @check_expression = N''
RETURN @replacement_value
RETURN @check_expression
END
これは次のように呼び出すことができます:
set @val = IsSpace(FLD380, N'Space')
別の方法として、Explosion Pills の応答の SQL Server 構文を次に示します。
SET @val =
CASE
WHEN FLD380 = '' THEN 'Space'
ELSE ISNULL(FLD380, 'null')
END
SET val= CASE WHEN FLD380 = '' THEN 'Space' ELSE
(CASE WHEN FLD380 IS NULL THEN 'Null' END) END
使ってみてはどうですかCOALESCE
SET val = IF(TRIM(FLD380) = '', 'SPACE', COALESCE(FLD380, 'NULL'))
SET val = IF(FLD380 = '', 'Space', IFNULL(FLD380, 'Null'))