唯一性判断,在线等

嘚嗒搬运工 2016-12-19 05:30:26
字段A 值格式为 1,2,2,2,2,2,1

如何判断A字段如果里面值都相同的话返回“相同”,如果有一个不相同则返回“不相同”

如果 2,2,2,2,2 值都相同,返回“相同”
如果1,2,2,2,2,2,1 有1有2,不相同,返回“不相同”
...全文
110 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
嘚嗒搬运工 2016-12-19
  • 打赏
  • 举报
回复
谢过,懂了!!!
sych888 2016-12-19
  • 打赏
  • 举报
回复
楼上的是11g的用法 提供一个通用的方法 SQL> select decode(cn, 1, '相同', '不相同') 2 from (select count(distinct 3 regexp_substr('1,2,2,2,2,2,1', '[^,]', 1, level)) cn 4 from dual 5 connect by level <= length('1,2,2,2,2,2,1') - 6 length(replace('1,2,2,2,2,2,1', ',', '')) + 1) 7 ; DECODE ------ 不相同 SQL> SQL> select decode(cn, 1, '相同', '不相同') 2 from (select count(distinct 3 regexp_substr('2,2,2,2,2', '[^,]', 1, level)) cn 4 from dual 5 connect by level <= length('2,2,2,2,2') - 6 length(replace('2,2,2,2,2', ',', '')) + 1) 7 ; DECODE ------ 相同
js14982 2016-12-19
  • 打赏
  • 举报
回复
如何->然后
js14982 2016-12-19
  • 打赏
  • 举报
回复
先行转列嘛,如何再判断列是否相同
select count(distinct col) from 
(select regexp_substr('1,2,2,2,2,2,1', '[^,]+', 1, level) col 
from dual 
connect by level <= regexp_count('1,2,2,2,2,2,1', '\,') + 1) a
having count(distinct col)>1

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧