爱问知识人 爱问教育 医院库

如何在oracle中截取字符串呢?

首页

如何在oracle中截取字符串呢?

如何在oracle中截取字符串呢?

提交回答

全部答案

    2018-03-29 10:12:09
  •   利用ORACLE中 INSTR,SUBSTR以及CASE WHEN语法即可实现。
    Oracle中函数
    INSTR:INSTR方法的格式为
    INSTR(源字符串, 目标字符串, 起始位置, 匹配序号)
    默认查找顺序为从左到右。当起始位置为负数的时候,从右边开始查找。
       例:Select INSTR('ORC+001','+',1,1) from dual 返回的是"4" 如果该字符串没有匹配字符 返回的是“0”。
       SUBSTR:取子字符串 取子字符串 SUBSTR(源字符串,起始位置,要取多少位) 从“起始位置”开始,取“多少"个 例 Select SUBSTR('ORC+001',1,3) from dual; 返回的是“ORC” 全例如下: 表T_RCV_ISSUE WH_CD字段 取 WH_CD 如果该字段包含"+",取“+”之前的字符 如果该字段没有"+",取整个字段 T_RCV_ISSUE表 WH_CD 分别为 MR-PS+007,MR-WS,MR-WS+001,MR-PS 执行 SELECT CASE WHEN INSTR(WH_CD, '+', 1, 1) > 0 THEN SUBSTR(WH_CD, 1, INSTR(WH_CD, '+', 1, 1) - 1) ELSE WH_CD END AS WH_CD from T_RCV_ISSUE 结果:MR-PS,MR-WS,MR-WS,MR-PS 。

    王***

    2018-03-29 10:12:09

类似问题

换一换
  • 系统软件 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新资料 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):