用数据说话:
sql1:
select * from dbo.customer where c_area='TW' and c_zip between '100' and '330' and c_qy=1
sql2:
select c_id,c_name,c_contr,c_zip,c_address,ordtotal,c_email,c_zk,c_kh1 from customer where c_area='tw'
and left(rtrim(ltrim(c_zip)),3)>='100' and left(rtrim(ltrim(c_zip)),3)<='330' and c_qy=1
不同之处在于精确到三位。而上面只可能匹配>=100到<=330的,而对于330001这样的编号就不会提取了。
用前者得到的数据总数为:62137,后者得到的数据为:62177,少了四十条。
因此,写SQL也要严谨!
本文发布于:2024-01-28 03:59:41,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/17063855964619.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |