在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操作不可以吧,我觉得应该从字符串处理的角度入手,有没有哪位高手知道啊,着急,在线等,谢谢啊。 展开
在页面上有一个支持多选的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操作不可以吧,我觉得应该从字符串处理的角度入手,有没有哪位高手知道啊,着急,在线等,谢谢啊。 展开
4个回答
展开全部
select * from tb where 字段1 like '%a%'
union
select * from tb where 字段1 like '%c%'
union
select * from tb where 字段1 like '%c%'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select * from tb where ','||字段1||',' like '%,a,%'
union
select * from tb where ','||字段1||',' like '%,c,%'
union
select * from tb where ','||字段1||',' like '%,c,%'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select * from tb where 字段1 like '%a%'
union all
select * from tb where 字段1 like '%c%'
union all
select * from tb where 字段1 like '%c%'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询