请教一个SQL语句问题!!!!!!!!!!!!!

cb8011 2004-09-09 08:46:49
例如有:6A,7B,3c,4d,7E…………,那么如何截取字母前的数字呢?就是我只需要:6,7,3,4,7…………怎么样才能做到最方便,最快速呢?
...全文
130 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
MountLion 2004-09-10
  • 打赏
  • 举报
回复
这样更方便一些:
select rtrim('6A','ABCDEFGHIJKLMNOPQRSTUVWXYZ') ....
dinya2003 2004-09-09
  • 打赏
  • 举报
回复
10002-324BBC --格式,要求有中划线,后面的字母要为大写,如果小写自己改一下.

select translate(substr('10002-324BBC',instr('10002-324BBC','-')+1),'ABCDEFGHIJKLMNOPQRSTUVWXYZ',' ') from dual

--得到324
tw_cshn 2004-09-09
  • 打赏
  • 举报
回复
建议写个函数来处理返回得到需要的字符串,
这样做就很简单了
马前小卒 2004-09-09
  • 打赏
  • 举报
回复
其中的字母前面的数字也非一定是个位啊。也可能是十位,百位。
-------------------------------------------------------------------
期待解决方案
cb8011 2004-09-09
  • 打赏
  • 举报
回复
其中的字母前面的数字也非一定是个位啊。也可能是十位,百位。所以substr('2A',1,1)这样的行不通。只能在个位上通用而已啊。
niusr 2004-09-09
  • 打赏
  • 举报
回复
不知道,等ing.
cb8011 2004-09-09
  • 打赏
  • 举报
回复
我指的并不是针对某个如“6A”这样的情况啊。而是一类。
如:10002-9A
10002-8A
20003-7B
30004-8c
……
在这样的情况下。怎么才有一种通用的语句来截取“9A”,“8A”等等中的数字。
针对某一中情况的话好解决。但是怎么样才能寻找一个通用的方法来解决?
rs_net 2004-09-09
  • 打赏
  • 举报
回复
substring('6A',0,1)
chanet 2004-09-09
  • 打赏
  • 举报
回复
SQL> select substr('2A',1,1) + 3 from dual;

SUBSTR('2A',1,1)+3
------------------
5
bluelamb 2004-09-09
  • 打赏
  • 举报
回复
用substring()函数
cb8011 2004-09-09
  • 打赏
  • 举报
回复
哈哈,楼上的非常好。不错不错。谢谢!!!

17,082

社区成员

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

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