这样的查询,不知道是否可以

caiyi000 2008-04-17 01:10:57
比如我有表A,有以下数据

id aname
1 1,11,5,
2 2,23,4,5,11,
3 1,22,143,3,

我想比如我传一个2就获得数据
id aname
2 2,23,4,5,

传1就获得
id aname
1 1,11,5,
3 1,22,143,3,


怎么做呢?
...全文
87 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
caorobby 2008-04-17
  • 打赏
  • 举报
回复
索引从1开始
caorobby 2008-04-17
  • 打赏
  • 举报
回复
or
select * from table where charindex('1,',anname)=1 or charindex(',1,',anname)>1
caorobby 2008-04-17
  • 打赏
  • 举报
回复
or
select * from table where charindex('1,',anname)=0 or charindex(',1,',anname)>0
caorobby 2008-04-17
  • 打赏
  • 举报
回复
条件查询里面 charindex 匹配类似
select * from table where charindex(cast(id as varchar)+',',anname)=0 or charindex(','+cast(id as varchar)+',',anname)>0
wpeng8218 2008-04-17
  • 打赏
  • 举报
回复
米看懂,你传入的对记录的影响规则是怎么样的!
-狙击手- 2008-04-17
  • 打赏
  • 举报
回复
declare @i int
set @I = 2
select *
from ta
where charidex(','+ltrim(@i)+',','+aname+',') > 0
-狙击手- 2008-04-17
  • 打赏
  • 举报
回复
declare @i int
set @I = 2
select *
from ta
where charidex(',+ltrim(@i)+,',','+aname+',') > 0
dobear_0922 2008-04-17
  • 打赏
  • 举报
回复
--以某个数字开头
select * from tb where aname like '1,%'
select * from tb where aname like '2,%'

--包含某个数字
select * from tb where charindex(',1,', ','+aname+',')>0
wangchangk 2008-04-17
  • 打赏
  • 举报
回复
charindex
kakajya 2008-04-17
  • 打赏
  • 举报
回复
你的aname是varchar()类型吧..
liangCK 2008-04-17
  • 打赏
  • 举报
回复
select * from tb where charindex(',1,',@aname)>0
-狙击手- 2008-04-17
  • 打赏
  • 举报
回复
select *
from ta
where charidex(',2,',','+aname+',') > 0
kakajya 2008-04-17
  • 打赏
  • 举报
回复
select * from A where aname like '要传的参数%'
dobear_0922 2008-04-17
  • 打赏
  • 举报
回复
select * from tb where aname like '1,%'
select * from tb where aname like '2,%'

34,873

社区成员

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

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