熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

Oracle字符串截取

2013-11-13 15:44:52  來源: Oracle 

  關於Oracle裡面的一些小函數

  要求A數據庫表中的一個字符串  可能含有+ORC+

  也可能不含+

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

  C如果該字符串不含+則直接取該字符串

  解答利用ORACLE中 INSTRSUBSTR以及CASE WHEN語法即可實現

  Oracle中函數

  INSTRINSTR方法的格式為

  INSTR(源字符串 目標字符串 起始位置 匹配序號)

  默認查找順序為從左到右當起始位置為負數的時候從右邊開始查找

  例Select INSTR(ORC++) From dual

  返回的是"4" 如果該字符串沒有匹配字符 返回的是

  SUBSTR取子字符串 取子字符串

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

  從起始位置開始多少"個

  例 Select SUBSTR(ORC+) From dual;

  返回的是ORC

  全例如下

  表T_RCV_ISSUE

  WH_CD字段

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

  如果該字段沒有+取整個字段

  T_RCV_ISSUE表

  WH_CD 分別為 MRPS+MRWSMRWS+MRPS

  執行

  SELECT CASE

  WHEN INSTR(WH_CD + ) >

  THEN SUBSTR(WH_CD INSTR(WH_CD + ) )

  ELSE WH_CD

  END AS WH_CD

  FROM   T_RCV_ISSUE

  結果MRPSMRWSMRWSMRPS


From:http://tw.wingwit.com/Article/program/Oracle/201311/17245.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.