-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
SET val = IF(FLD380 = '', 'Space', IFNULL(FLD380, 'Null'))
于 2013-02-18T05:03:02.600 回答
0

如何使用COALESCE

SET val = IF(TRIM(FLD380) = '', 'SPACE', COALESCE(FLD380, 'NULL'))
于 2013-02-18T05:22:45.523 回答