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? 展开
要求未下
如果这个字段的值中包含b,(a,ab.ac,abc都算)那么返回为1 否则返回为0,
如果这个字段的值中包含b.(b,ab.bc,abc都算)那么返回为1 否则返回为0,
如果这个字段的值中包含c,(c,ac.bc,abc都算)那么返回为1 否则返回为0,
三个结果都要 如何写这个语句呢?
我问的这个只是抛砖引玉 实际情况是这个字段里有一堆中文+字母+数字 能不能有一个语句 就是字段中包含某个你想要的数值 就返回1 不包含就返回0? 展开
2个回答
2015-03-13 · 知道合伙人软件行家
renfengjun1986
知道合伙人软件行家
向TA提问 私信TA
知道合伙人软件行家
采纳数: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
大概是这个意思。
(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
展开全部
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关键字来连接逻辑判断。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询