我已经在SQL Server存储过程中编写了以下更新语句。
IsNull
在这做什么?
Update [dbo].[Images]
set ImageName = IsNull(@ImageName, ImageName), ItemId = IsNull(@ItemId, ItemId)
where TypeId = @TypeId;
我对数据库的东西很新。
答案 0 :(得分:1)
与COALESCE
类似,如果第一个参数为NULL
,则返回第二个参数的值。
在某些情况下,您必须小心ISNULL
,因为如果第一个参数值的类型定义为较小,它可能会截断第二个参数值。例如:
DECLARE @val1 CHAR(1);
DECLARE @val2 CHAR(2) = 'AB';
SELECT ISNULL(@val1,@val2); -- Returns 'A', not 'AB'
SELECT COALESCE(@val1,@val2); -- Returns 'AB'