Oracle字符串截取

 我来答
天罗网17
2022-11-10 · TA获得超过6192个赞
知道小有建树答主
回答量:306
采纳率:100%
帮助的人:73.4万
展开全部

  关于Oracle里面的一些小函数

  要求 A 数据库表中的一个字符串  可能含有 + 例 ORC+

  也可能不含 +

  B 要求如果该字符串含有 + 则取 + 之前的字符 例 ORC+ 取ORC

  C 如果该字符串不含 + 则直接取该字符串

  解答 利用ORACLE中 INSTR SUBSTR以及CASE WHEN语法即可实现

  Oracle中函数

  INSTR INSTR方法的格式为

  INSTR(源字符串 目标字符串 起始位置 匹配序号)

  默认查找顺序为从左到右 当起始位置为负数的时候 从右边开始查找

  例 Select INSTR( ORC+ + ) From dual

  返回的是"4" 如果该字符串没有匹配字符 返回的是 0

  SUBSTR 取子字符串 取子字符串

  SUBSTR(源字符串 起始位置 要取多少位)

  从 起始位置 开始 取 多少"个

  例 Select SUBSTR( ORC+ ) From dual;

  返回的是 ORC

  全例如下

  表T_RCV_ISSUE

  WH_CD字段

  取 WH_CD 如果该字段包含 + 取 + 之前的字符

  如果该字段没有 + 取整个字段

  T_RCV_ISSUE表

  WH_CD 分别为 MR PS+ MR WS MR WS+ MR PS

  执行

  SELECT CASE

  WHEN INSTR(WH_CD + ) >

  THEN SUBSTR(WH_CD INSTR(WH_CD + ) )

  ELSE WH_CD

  END AS WH_CD

  FROM   T_RCV_ISSUE

lishixinzhi/Article/program/Oracle/201311/17245

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式