为了账号安全,请及时绑定邮箱和手机立即绑定

请教一个sql问题,暂时放在首页

请教一个sql问题,暂时放在首页

慕码人8056858 2018-12-03 17:13:23
declare @CustomerID uniqueidentifier <P><BR>set @CustomerID = '129F1B78-5373-4196-BE92-253762896ADB' </P> <P>&nbsp;</P> <P><BR>select a.* from opvoucher a <BR>WHERE&nbsp;&nbsp;&nbsp; (a.customercode = @CustomerID or @CustomerID is null ) </P> <P>&nbsp;</P> <P><BR>select a.*&nbsp; from opvoucher a <BR>WHERE&nbsp; (a.customercode = @CustomerID) </P> <P>&nbsp;</P> <P>为何 前一句 where子句利用不到索引?</P> <P>&nbsp;</P>
查看完整描述

2 回答

?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

不是这样写的啊(好像是这样的哦~你试下~~) select a.* from opvoucher a WHERE a.customercode = @CustomerID or a.customercode =@CustomerID is null

查看完整回答
反对 回复 2018-12-07
?
慕妹3242003

TA贡献1824条经验 获得超6个赞

如果@CustomerID真的是NULL的话,会怎样?岂不是全选出来了?因为WHERE字句对于任何记录来说都为TRUE…… 也就是说,第一条SQL先别说什么索引了,本身就是错的!



查看完整回答
反对 回复 2018-12-07
  • 2 回答
  • 0 关注
  • 506 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信