Sql server 如何使用游标中的数字字段管理空值?
如何在Select语句中管理游标返回的数值字段中的空值,以有效地管理算术运算Sql server 如何使用游标中的数字字段管理空值?,sql-server,stored-procedures,Sql Server,Stored Procedures,如何在Select语句中管理游标返回的数值字段中的空值,以有效地管理算术运算 不要使用光标 如果必须(真的?),可以使用ISNULL函数: SELECT ISNULL(fieldname, 0) 将给您一个“0”(零)而不是NULL ISNULL(value, replacement) 如果值为空,则将值替换为替换 假设您首先无法避免光标,我不理解为什么NULL在变量中的处理方式与在查询中的处理方式大不相同-存在INSULL,合并,时的情况等 有一件有趣的事: DECLARE @v as
SELECT ISNULL(fieldname, 0)
ISNULL(value, replacement)
如果值
为空,则将值
替换为替换
假设您首先无法避免光标,我不理解为什么
NULL
在变量中的处理方式与在查询中的处理方式大不相同-存在INSULL
,合并
,时的情况等
有一件有趣的事:
DECLARE @v as int -- initialized to NULL
{ -- loop through a cursor
FETCH NEXT INTO @v
}
您不一定能够将未初始化的@v
与最后一行的@v
设置为NULL
时区分开来,我认为我们需要了解更多您正在做的事情,以了解如何帮助您。你为什么用光标?这通常是一个糟糕的做法。它是一个有几个记录的游标,我需要用if、elseif、else条件对每个记录进行提取以进行不同的算术运算,否则我使用了几个select语句,可能是许多过程。