where ','+ AllTId +',' like '%,104%' 这条sql语句为什么不会错

不再三重门 2014-09-18 04:41:09
select *
FROM Article
where ','+ AllTId +',' like '%,104%'

','+ AllTId +',' 是什么作用,他和AllTid的区别是什么?
...全文
318 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
不再三重门 2014-09-19
  • 打赏
  • 举报
回复
引用 2 楼 reenjie 的回复:
select * FROM Article where ','+ AllTId +',' like '%,104%' ','+ AllTId +','是对字段AllTId的数据进行处理,将AllTId的数据前后分别加字符‘,’,之后再用处理后的数据匹配。 举例说明,例如AllTid的数据如下 104,102 102,104 102,104,102 104 ‘,’+AllTid+','处理之后的数据为: ,104,102, ,102,104, ,102,104,102, ,104, 这样就可以用同一个表达式匹配,'%,104%' 来匹配所有的数据。如果不做处理的话,模糊查询会遗漏部分正确的数据。
非常感谢!以前学sql没看过这些语法,连加号的都没用。你说得很详细。
reenjie 2014-09-18
  • 打赏
  • 举报
回复
select * FROM Article where ','+ AllTId +',' like '%,104%' ','+ AllTId +','是对字段AllTId的数据进行处理,将AllTId的数据前后分别加字符‘,’,之后再用处理后的数据匹配。 举例说明,例如AllTid的数据如下 104,102 102,104 102,104,102 104 ‘,’+AllTid+','处理之后的数据为: ,104,102, ,102,104, ,102,104,102, ,104, 这样就可以用同一个表达式匹配,'%,104%' 来匹配所有的数据。如果不做处理的话,模糊查询会遗漏部分正确的数据。
还在加载中灬 2014-09-18
  • 打赏
  • 举报
回复
用于模糊查询使用的匹配 不加的会 1 会匹配 2,3,41,5 加了的话 1只会匹配 2,3,1,5这种

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧