-2
set val=isnull(FLD380,'Null')

* SPACE('') についても同じステートメントを書く必要があります。このような

 set val=space(FLD380,'Space')
4

4 に答える 4

2

具体的に求めているのは、ユーザー定義関数です。この構文は 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
于 2013-02-18T06:07:10.403 に答える
1
SET val= CASE WHEN FLD380 = '' THEN 'Space' ELSE 
(CASE WHEN FLD380 IS NULL THEN 'Null' END) END

フィドルを見る

于 2013-02-18T05:28:45.927 に答える
0

使ってみてはどうですかCOALESCE

SET val = IF(TRIM(FLD380) = '', 'SPACE', COALESCE(FLD380, 'NULL'))
于 2013-02-18T05:22:45.523 に答える
0
SET val = IF(FLD380 = '', 'Space', IFNULL(FLD380, 'Null'))
于 2013-02-18T05:03:02.600 に答える