update [dbo].[Table]
set 确认状态='已经发货'
where (发货日期 is not null or 发货日期!='' or 发货日期!='0') and (货单号 is null or 货单号='0' or 货单号='') and (确认状态!='客服取消' or 确认状态!='商户取消' or 确认状态!='退货取消')请问下我这条语句哪错了,为什么发货日期为1时我把确认状态改为客服取消
但触发器那还是将确认状态改为已经发货.
如果我想实现不管有没发货日期或货单号一旦确认状态为客服取消、商户取消、退货取消就不更新
这条更新语句该怎么改
set 确认状态='已经发货'
where (发货日期 is not null or 发货日期!='' or 发货日期!='0') and (货单号 is null or 货单号='0' or 货单号='') and (确认状态!='客服取消' or 确认状态!='商户取消' or 确认状态!='退货取消')请问下我这条语句哪错了,为什么发货日期为1时我把确认状态改为客服取消
但触发器那还是将确认状态改为已经发货.
如果我想实现不管有没发货日期或货单号一旦确认状态为客服取消、商户取消、退货取消就不更新
这条更新语句该怎么改
set 确认状态='已经发货'
where (发货日期 is not null or 发货日期!='' or 发货日期!='0') and (货单号 is null or 货单号='0' or 货单号='') and (确认状态!='客服取消' and 确认状态!='商户取消' and 确认状态!='退货取消')
应该是
(确认状态!='客服取消' and 确认状态!='商户取消' and 确认状态!='退货取消')
update [dbo].[Table]
set 确认状态='已经发货'
where 确认状态!='客服取消' or 确认状态!='商户取消' or 确认状态!='退货取消'直接这么写,试试。
只有它们都为true才行,因此不能用 or而要用and.这样,如果有一个状态不对,就不会更新了.