从右侧获取子字符串

Posted

技术标签:

【中文标题】从右侧获取子字符串【英文标题】:Fetch substring from right side 【发布时间】:2021-01-21 07:15:21 【问题描述】:

我正在使用甲骨文。我有一列“ITEM_FINAL”由一个字符串组成,该字符串是 2 条记录的组合。

ITEM_FINAL = ITEM_ID + ITEM

我需要分离 ITEM_FINAL 并将它们放入 2 个不同的列 ITEM_ID 和 ITEM。 但是 ITEM_ID 的长度不是恒定的,它可以是 1 或 10 或 999(直到 3 位)。 ITEM 是常数,总是 5 位数字。

例如。 ITEM_FINAL = 1256789(12 + 56789的组合)或256789(2 + 56789的组合)

我可以在 substr 的帮助下获取 ITEM 详细信息

select substr(ITEM_FINAL,-5) from dual;

它将给出最后 5 位数字 (56789),它是恒定的。无论 ITEM_ID 列的右侧长度如何,我如何从第 6 个位置获取剩余的字符串直到开始

【问题讨论】:

【参考方案1】:
select substr(ITEM_FINAL, 1, length(ITEM_FINAL)-5) ITEM_ID, 
       substr(ITEM_FINAL,-5) ITEM 
 from dual;

【讨论】:

谢谢!!它解决了。必须学习长度函数:)

以上是关于从右侧获取子字符串的主要内容,如果未能解决你的问题,请参考以下文章

从右侧获取子字符串

如何根据字符获取子字符串并从右侧开始读取字符串

如何更改python字符串子字符串信息

使用 Python 的字符串子序列内核和 SVM

[在python中使用正则表达式搜索字符串子字符串

子串子序列问题