ORACLE 如果一个字段包含指定的值 那么另一个字段就返回为1 否则为0

比如我表r中的x字段的值可能是null或'a','b','c','ac','ab','bc','abc'这几种情况顺序无所谓要求未下如果这个字段的值中包含b,(a,ab.... 比如我表r中的x字段的值可能是null或'a','b','c','ac','ab','bc','abc'这几种情况 顺序无所谓

要求未下
如果这个字段的值中包含b,(a,ab.ac,abc都算)那么返回为1 否则返回为0,
如果这个字段的值中包含b.(b,ab.bc,abc都算)那么返回为1 否则返回为0,
如果这个字段的值中包含c,(c,ac.bc,abc都算)那么返回为1 否则返回为0,
三个结果都要 如何写这个语句呢?
我问的这个只是抛砖引玉 实际情况是这个字段里有一堆中文+字母+数字 能不能有一个语句 就是字段中包含某个你想要的数值 就返回1 不包含就返回0?
展开
 我来答
renfengjun1986
2015-03-13 · 知道合伙人软件行家
renfengjun1986
知道合伙人软件行家
采纳数:925 获赞数:1553
中国地质调查局特聘数据库专家 CSDN博客专家 百度知道数据库行家 炼数成金版主 想了解更多请关注我的博客:

向TA提问 私信TA
展开全部
select
(case when instr (x,'a')>0 or instr (x,'b')>0 or instr (x,'c')>0 then 1
else 0 end)
from r
大概是这个意思。
追问
我问的这个只是抛砖引玉 实际情况是这个字段里有一堆中文+字母+数字  能不能有一个语句 就是字段中包含某个你想要的数值 就返回1  不包含就返回0?
追答
那就更简单了。
select
(case when instr (x,'数值')>0 then 1
else 0 end)
from r
vortexchoo
2015-03-13 · TA获得超过543个赞
知道小有建树答主
回答量:501
采纳率:40%
帮助的人:88.9万
展开全部
select (case when instr(t.a,'b')>=0 or instr(t.a,'c')>=0 then 1 else 0 end) from table t
追问
我问的这个只是抛砖引玉 实际情况是这个字段里有一堆中文+字母+数字  能不能有一个语句 就是字段中包含某个你想要的数值 就返回1  不包含就返回0?
追答
首先 你要知道instr这个函数,这个函数类似java或者js中的indexOF方法。 就是判断当前字符串中是否存在指定的字符串。instr(当前字符串,指定字符串) 如果存在的话 会返回出现位置的值。
然后就是了解case when then end 这是个固定写法,其中的逻辑主要是在when then这里
when 后面是逻辑判断 可以理解成 当 ...的时候 ,then 后面跟结果 如果有多个 可以 以or关键字来连接逻辑判断。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式