如何管理Select语句中游标返回的数值字段中的NULL值,以便有效地管理算术运算?
答案 0 :(得分:5)
请勿使用游标。
如果你必须(真的吗?),你可以使用ISNULL功能:
SELECT ISNULL(fieldname, 0)
会给你一个“0”(零)而不是NULL。
答案 1 :(得分:5)
ISNULL(value, replacement)
如果value
IS NULL ,会将replacement
替换为value
答案 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
时区分开来。