关于ISNULL的问题

ron_xin ron_xin 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

ALTER Proc OrderRefund_Confirm
@OrderRefund_ID varchar(50),
@operate varchar(50)
as
--========================
--订单退货确认
--========================
--eg :exec OrderRefund_Confirm '20120221000002', 1


declare @OrdersC_ID varchar(50),@Return_Qty numeric(10,5),
@Product_Code varchar(50) ,@Product_Name varchar(50),@Descript varchar(50),
@Project varchar(50) , @Camera varchar(50) ,@Logo varchar(50) ,
@Color varchar(50) ,@Unit varchar(50),
@Amount NUMERIC(10,5), @ErrorMsg varchar(2000)


if @operate=1
begin
SELECT @OrdersC_ID=OrdersC_ID ,@Return_Qty=Return_Qty ,
@Product_Code=Product_Code , @Product_Name=Product_Name ,
@Descript=Descript , @Project=Project , @Camera=Camera , @Logo=Logo ,
@Color=Color , @Unit=Unit
FROM OrderRefund
WHERE OrderRefund_ID=@OrderRefund_ID


if not exists(select * from WasteProducts
where Product_Code=@Product_Code and Product_Name=@Product_Name
and Descript=@Descript and Project=@Project
and Camera=@Camera and Logo=@Logo
and Color=@Color and Unit=@Unit)
begin
insert into WasteProducts(Product_Code,Product_Name,Descript,Project,Camera,Logo,Color,Unit,Amount)
values(@Product_Code,@Product_Name,@Descript,@Project,@Camera,@Logo,@Color,@Unit,@Return_Qty)
end
else
BEGIN
--更新库存(预扣数量增加,库存数量增加)
UPDATE WasteProducts SET Amount=isnull(Amount,0)+@Return_Qty
WHERE Product_Code=@Product_Code and Product_Name=@Product_Name and Descript=@Descript
and Project=@Project and Camera=@Camera and Logo=@Logo
and Color=@Color and Unit=@Unit

--更新订单(退货数量增加)
UPDATE OrdersC SET Return_Qty=isnull(Return_Qty,0)+@Return_Qty WHERE OrdersC_ID=@OrdersC_ID
END
end

...全文

相关推荐

在SQL Server中使用ISNULL执行空值判断查询

主要介绍了在SQL Server中使用ISNULL执行空值判断查询,ISNULL的好处是可以直接写在SELECT查询语句中,需要的朋友可以参考下

weixin_38622827

COALESCE与ISNULL区别[源码]

本文详细比较了SQL中处理NULL值的两个常用函数COALESCE和ISNULL的差异。COALESCE是SQL标准的一部分,支持多个参数,适合跨数据库系统使用;而ISNULL是SQL Server特有函数,仅支持两个参数,但在数据类型转换上更灵活。文章还讨论了它们在性能上的微小差异,并提供了具体的使用示例。最后,根据不同的应用场景给出了选择建议:若需代码可移植性和多参数处理,推荐COALESCE;若仅在SQL Server环境中工作且只需处理两个参数,ISNULL可能更简洁。

w8x9y0z1

深入浅析Orcale的nvl函数和SQL Server的isnull函数

主要介绍了Orcale的nvl函数和SQL Server的isnull函数的相关资料,需要的朋友可以参考下

weixin_38545243

SQL中isnull()用法总结[代码]

本文详细介绍了SQL中isnull()函数及其在不同数据库中的用法。在SQL Server中,isnull(value1,value2)函数用于判断value1是否为null,如果是则返回value2,否则返回value1。MySQL中提供了isnull(exper)、ifnull(exper1,exper2)和nullif(exper1,exper2)三种函数,分别用于判断是否为空、替换空值和比较返回NULL或expr1。Oracle中则使用nvl(value1,value2)和nvl2(value1,value2,value3)函数来处理空值,以及NULLIF(expr1,expr2)函数来比较参数。文章通过具体示例说明了这些函数的用法和注意事项,帮助读者更好地理解和应用这些函数。

算法笑匠

SQLSERVER ISNULL 函数与判断值是否为空的sql语句

由于服务器设置不当导致sqlserver的某个字段为空,导致部分内容显示失败,所有这里需要将为空的字符替换为制定的字符

weixin_38602098
评论 7
收藏 已收藏
分享
返回顶部
ron_xin
MS-SQL Server 34,876 成员 254,635 内容