数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

Oracle字符串截取


发布日期:2024年01月10日
 
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

上一篇:利用多个转储文件导出大量Oracle数据

下一篇:ORACLE里面的数据导入到EXCLE