oracle数据库取出查询结果列中的第一个大写字母

oracle 数据库 取出查询结果列中,某一列数据的每一条数据中的第一个大写字母

yzm235571 发布于 2021-8-25 10:10
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
鱼丸粗面Lv4见习互助
发布于2021-8-25 11:25

select  substr((regexp_substr(字段,'[A-Z]+',1)),0,1)  from 表

先取字段中所有大写字母,再用substr取首字符

最佳回答
0
krystal033Lv7高级互助
发布于2021-8-25 10:12(编辑于 2021-8-25 10:51)

直接在帆软处理

WorkBook10.cpt

image.png

  • yzm235571 yzm235571(提问者) 列中的每个数据都去取一次第一个大写字母
    2021-08-25 10:14 
  • krystal033 krystal033 回复 yzm235571(提问者) 是不是我描述的那样取
    2021-08-25 10:15 
  • yzm235571 yzm235571(提问者) 回复 krystal033 是的呢
    2021-08-25 10:17 
  • krystal033 krystal033 回复 yzm235571(提问者) 直接在帆软处理 已经给你模板了
    2021-08-25 10:51 
  • yzm235571 yzm235571(提问者) 回复 krystal033 好的,谢谢了
    2021-08-25 14:15 
最佳回答
0
snrtuemcLv8专家互助
发布于2021-8-25 10:12

直接用函数取

substr(字段, 起始位, 长度)

最佳回答
0
xiaomiliLv6初级互助
发布于2021-8-25 10:26

给你个思路吧:试试转换大小写函数 lower();

取出字段,使用小写转换函数,转换成新字段,

然后和原来的字段比对,如果相同的话就赋值0,如果不同的话就赋值1,就说明这个是大写字母,

然后锁定位置,再提取出原字段的那个位置上的那个大写字母;

这个觉得写个存过比较好实现;

  • 5关注人数
  • 521浏览人数
  • 最后回答于:2021-8-25 11:25
    请选择关闭问题的原因
    确定 取消
    返回顶部