急急急,Sql查询一个字段是否存在某一个值,怎么写查询语句? 5

如图片所示的表结构,当参数是2的时候,查询出fubclass里面包含2的所有记录,即第一条和第二条记录,当参数是3的时候,3条记录都应该查询出来。MSSQL数据库,最好不... 如图片所示的表结构,当参数是2的时候,查询出fubclass里面包含2的所有记录,即第一条和第二条记录,当参数是3的时候,3条记录都应该查询出来。
MSSQL数据库,最好不用like语句
展开
 我来答
wanghao_kjlink
2012-06-05 · TA获得超过607个赞
知道小有建树答主
回答量:561
采纳率:100%
帮助的人:268万
展开全部
不知道是什么数据库..
oracle数据库sql语句如下:
select * from 表名 where instr(fuclass,'你要传入的参数')>0;

其实这样也有问题,你这题的思路应该是先根据逗号分隔符截取字符串,然后根据你传入的参数和根据逗号截取出来的字符串进行比较,如果存在那就是你要的记录,否则就不是,但是oracle并不存在这样一种函数.比如gp中使用的split_part函数,所以比较麻烦,只能自己构建一个函数,然后调用这个函数先对字符串进行处理

出问题的原因是如果你传入一个'2',那么'22'也会算作是合格字符,而将结果返回
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dbmstcpip
2017-07-13
知道答主
回答量:36
采纳率:0%
帮助的人:8.5万
展开全部
where fubclass REGEXP '2'查询2的记录
where fubclass REGEXP '3' 查询3的记录
正则表达式其实也是like,不知道满足你的要求不
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友c01acee
2012-06-05 · TA获得超过187个赞
知道小有建树答主
回答量:587
采纳率:0%
帮助的人:377万
展开全部
'SQL SERVER使用:
select * from 表名 as a where instr(a.fubclass,"2")>0
Oracle 使用:
select * from 表名 as a where instr(a.fubclass,'2')>0
以上作用是查询表名的fubclass字段包含2的记录集
追问
instr 没有这个函数吧
追答
必须有
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tkbh
2012-06-05 · TA获得超过531个赞
知道小有建树答主
回答量:629
采纳率:0%
帮助的人:107万
展开全部
select * from XX,where fubclass like '%2%'
select * from XX,where fubclass like '%3%'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2018-03-16
展开全部
SELECT * FROM `表名` WHERE LOCATE('2',`fubclass`);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式