如何使用游标中的数字字段管理NULL值?

时间:2009-11-24 15:44:15

标签: sql-server stored-procedures

如何管理Select语句中游标返回的数值字段中的NULL值,以便有效地管理算术运算?

3 个答案:

答案 0 :(得分:5)

  1. 请勿使用游标。

  2. 如果你必须(真的吗?),你可以使用ISNULL功能:

    SELECT ISNULL(fieldname, 0)
    
  3. 会给你一个“0”(零)而不是NULL。

答案 1 :(得分:5)

ISNULL(value, replacement)
如果value IS NULL

会将replacement替换为value

http://msdn.microsoft.com/en-us/library/ms184325.aspx

答案 2 :(得分:2)

假设你无法首先避开光标,我不明白为什么NULL在变量中的处理方式与在查询中的处理方式有很大不同 - 有INSULL,{ {1}},COALESCE等。

一件有趣的事情:

CASE WHEN

您无法将未初始化的DECLARE @v as int -- initialized to NULL { -- loop through a cursor FETCH NEXT INTO @v } 与最后一行的@v设置为@v时区分开来。