如果存在null或空值,如何在sql中设置变量

时间:2013-02-18 04:53:12

标签: sql sql-server sql-server-2008

set val=isnull(FLD380,'Null')

* 我需要为SPACE('')编写相同的语句。 喜欢这个

 set val=space(FLD380,'Space')

4 个答案:

答案 0 :(得分:2)

具体要求的是user-defined function。请注意,此语法适用于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

答案 1 :(得分:1)

SET val= CASE WHEN FLD380 = '' THEN 'Space' ELSE 
(CASE WHEN FLD380 IS NULL THEN 'Null' END) END

See fiddle

答案 2 :(得分:0)

SET val = IF(FLD380 = '', 'Space', IFNULL(FLD380, 'Null'))

答案 3 :(得分:0)

如何使用COALESCE

SET val = IF(TRIM(FLD380) = '', 'SPACE', COALESCE(FLD380, 'NULL'))