求助,DB2怎么按“-”截取字符

丰富的分地方的 2013-11-07 10:37:10
比如我现在有个字段中存1-10-3090-3220,我需要截取3090,应该怎么做呢?
...全文
756 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 3 楼 TUBER727 的回复:
你要取第几个‘-’后面的值? 你描述的貌似没什么规律。 select substr('1-10-3090-3220',instr('1-10-3090-3220','3090'),length('3090')) from sysibm.dual。 有规律的话可以用自定义函数实现。
我的意思是,比如可以用类似split转成数组,按[2]来取值,DB2有这类的自定函数吗
TUBER727 2013-11-08
  • 打赏
  • 举报
回复
函数可以自己写啊,你可以参考一下我之前回复类似。http://bbs.csdn.net/topics/390623552
  • 打赏
  • 举报
回复
引用 1 楼 wwwwb 的回复:
格式是否固定?
不固定的,有1-1,1-1-1,1-1-1-1,这类的
wwwwb 2013-11-07
  • 打赏
  • 举报
回复
格式是否固定?
TUBER727 2013-11-07
  • 打赏
  • 举报
回复
你要取第几个‘-’后面的值? 你描述的貌似没什么规律。 select substr('1-10-3090-3220',instr('1-10-3090-3220','3090'),length('3090')) from sysibm.dual。 有规律的话可以用自定义函数实现。

5,889

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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