IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類(lèi)|軟件專(zhuān)題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁(yè)數(shù)據(jù)庫(kù)Oracle → Oracle字符串截取

Oracle字符串截取

時(shí)間:2015-06-28 00:00:00 來(lái)源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(0)

  關(guān)于Oracle里面的一些小函數(shù)

  要求:A.數(shù)據(jù)庫(kù)表中的一個(gè)字符串? 可能含有"+" 例:ORC+001

  也可能不含"+"

  B.要求如果該字符串含有"+",則取"+"之前的字符 例:ORC+001 取ORC

  C.如果該字符串不含"+",則直接取該字符串。

  解答:利用ORACLE中 INSTR,SUBSTR以及CASE WHEN語(yǔ)法即可實(shí)現(xiàn)。

  Oracle中函數(shù)

  INSTR:INSTR方法的格式為

  INSTR(源字符串, 目標(biāo)字符串, 起始位置, 匹配序號(hào))

  默認(rèn)查找順序?yàn)閺淖蟮接?。?dāng)起始位置為負(fù)數(shù)的時(shí)候,從右邊開(kāi)始查找。

  例:Select INSTR('ORC+001','+',1,1) From dual

  返回的是"4" 如果該字符串沒(méi)有匹配字符 返回的是"0"。

  SUBSTR:取子字符串 取子字符串

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

  從"起始位置"開(kāi)始,取"多少"個(gè)

  例 Select SUBSTR('ORC+001',1,3) From dual;

  返回的是"ORC"

  全例如下:

  表T_RCV_ISSUE

  WH_CD字段

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

  如果該字段沒(méi)有"+",取整個(gè)字段

  T_RCV_ISSUE表

  WH_CD 分別為 MR-PS+007,MR-WS,MR-WS+001,MR-PS

  執(zhí)行

  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

  結(jié)果:MR-PS,MR-WS,MR-WS,MR-PS

關(guān)鍵詞標(biāo)簽:Oracle字符串截取

相關(guān)閱讀

文章評(píng)論
發(fā)表評(píng)論

熱門(mén)文章 Oracle中使用alter table來(lái)增加,刪除,修改列的語(yǔ)法 Oracle中使用alter table來(lái)增加,刪除,修改列的語(yǔ)法 oracle中使用SQL語(yǔ)句修改字段類(lèi)型-oracle修改SQL語(yǔ)句案例 oracle中使用SQL語(yǔ)句修改字段類(lèi)型-oracle修改SQL語(yǔ)句案例 誤刪Oracle數(shù)據(jù)庫(kù)實(shí)例的控制文件 誤刪Oracle數(shù)據(jù)庫(kù)實(shí)例的控制文件 為UNIX服務(wù)器設(shè)置Oracle全文檢索 為UNIX服務(wù)器設(shè)置Oracle全文檢索

相關(guān)下載

    人氣排行 oracle中使用SQL語(yǔ)句修改字段類(lèi)型-oracle修改SQL語(yǔ)句案例 Oracle中使用alter table來(lái)增加,刪除,修改列的語(yǔ)法 ORACLE SQL 判斷字符串是否為數(shù)字的語(yǔ)句 ORACLE和SQL語(yǔ)法區(qū)別歸納(1) oracle grant 授權(quán)語(yǔ)句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法