询问一个查询sql的问题

hnaspnet 2005-05-26 10:33:47
我有一个aa字段,比如该字段数据为:
10,12,14,
这样的数据
现在想查14在这里是否出现,如何查到?
...全文
103 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
AntingZ 2005-05-26
  • 打赏
  • 举报
回复
to mengzulin(Julian)
paoluo的是对的,
你的Select * from TableName Where CharIndex('14,',AA)>0有问题
如果是114,214之类的也会被查出来,是不是?
paoluo 2005-05-26
  • 打赏
  • 举报
回复
回复人: mengzulin(Julian) ( ) 信誉:100 2005-05-26 10:49:00 得分: 0


paoluo(一天到晚游泳的鱼) 的有一点点不对如果14在前面就无法找到了,应该改成:
Select * from TableName Where CharIndex('14,',AA)>0


----------------------------------------------------------------------------

Select * from TableName Where CharIndex(',14,',','+AA)>0

Select * from TableName Where ','+AA Like '%,14,%'

14在最前面我的语句也可以查出来,不信你试试

Declare @S Varchar(100)
Set @S='14,15,16,'
Select CharIndex(',14,',','+@S)
mengzulin 2005-05-26
  • 打赏
  • 举报
回复
paoluo(一天到晚游泳的鱼) 的有一点点不对如果14在前面就无法找到了,应该改成:
Select * from TableName Where CharIndex('14,',AA)>0
AntingZ 2005-05-26
  • 打赏
  • 举报
回复
那就用炮烙的,还以为你想把144、145之类的也查歘拉
hnaspnet 2005-05-26
  • 打赏
  • 举报
回复
谢谢paoluo,不知道今天怎么回事,结不了贴。晕,回头结贴。
paoluo 2005-05-26
  • 打赏
  • 举报
回复
如果最后有","号
Select * from TableName Where CharIndex(',14,',','+AA)>0

Select * from TableName Where ','+AA Like '%,14,%'
paoluo 2005-05-26
  • 打赏
  • 举报
回复
Like可以这么写

Select * from TableName Where ','+AA+',' Like '%,14,%'
paoluo 2005-05-26
  • 打赏
  • 举报
回复
一楼的方法不行,类似 140 这样的数据也可以查询出来。
hnaspnet 2005-05-26
  • 打赏
  • 举报
回复
不好意思,要的不是这种结果。
这里的10、12、14是要进行单独查询的,如果你那样查的话,会把
144、145之类的数据也查了。我要的就是直接只能够查出两个逗号之间的数据为14的。但是第一位不是逗号,最后一位为逗号。
paoluo 2005-05-26
  • 打赏
  • 举报
回复
Select * from TableName Where CharIndex(',14,',','+AA+',')>0
AntingZ 2005-05-26
  • 打赏
  • 举报
回复
select * from 表 where aa like '%14%'

34,593

社区成员

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

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