在sql server数据库中查询一个用逗号分隔的字段的问题 10

通过一个具体例子来描述:在页面上有一个支持多选的select控件,其值分别为abcd。现在选中a和c,则从页面上得到的值为a,c(注意,中间有一个逗号作为分隔符),现在要... 通过一个具体例子来描述:
在页面上有一个支持多选的select控件,其值分别为a b c d。现在选中a和c,则从页面上得到的值为a,c(注意,中间有一个逗号作为分隔符),现在要从sql server数据库中选出含有任意一个选中的字段的值,表结构如下:

表A字段:
ID 字段1
1 a,b
2 b,c
3 a,b,c,d
4 b,d
5 b
6 d
7 b,c
8 c,d
现在期望选出的记录为
ID 字段1
1 a,b
2 b,c
3 a,b,c,d
7 b,c
8 c,d
即在字段1中含有任意a或c的记录全部选择出来,但是这个逗号(,)不知道如何处理,用sql语句实现,请高手指点。是不是sql sever内部有这类的字符串处理函数?请写出具体的sql语句,形式最好为select * from A where 字段1
谢谢!
可能我还没有把问题描述清楚,a,c只是我举得一个例子,查询项是不固定的,如可能为a,也可能为a,c,d 还可能为a,b,c,d等等,这种情况该如何处理?好像用union操作不可以吧,我觉得应该从字符串处理的角度入手,有没有哪位高手知道啊,着急,在线等,谢谢啊。
展开
 我来答
诛神诛仙
2010-01-04 · TA获得超过278个赞
知道小有建树答主
回答量:188
采纳率:0%
帮助的人:0
展开全部
你说的是选出含有任意一个选中的字段的值,那只要字段1的内容不是空或者null就行了啊。如果是待条件查询的话,只要加上你的条件就好了啊.
declare @a char(10)
set @a = 'a' --任意你想要的查询的值
select * from 表 where 字段1 like '%' + @a + '%'
结果就是根据你给出的条件,检索出所有符合你条件的记录。
百度网友e6ea01f
2010-01-04 · TA获得超过449个赞
知道小有建树答主
回答量:425
采纳率:0%
帮助的人:542万
展开全部
select * from tb where 字段1 like '%a%'
union
select * from tb where 字段1 like '%c%'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fancyivan
2010-01-04 · TA获得超过837个赞
知道小有建树答主
回答量:633
采纳率:0%
帮助的人:436万
展开全部
select * from tb where ','||字段1||',' like '%,a,%'
union
select * from tb where ','||字段1||',' like '%,c,%'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
妄玩创想
2010-01-04 · 射频信号多机测试解决咨询
妄玩创想
采纳数:434 获赞数:1169

向TA提问 私信TA
展开全部
select * from tb where 字段1 like '%a%'
union all
select * from tb where 字段1 like '%c%'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式