从右侧获取子字符串
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;
【讨论】:
谢谢!!它解决了。必须学习长度函数:)以上是关于从右侧获取子字符串的主要内容,如果未能解决你的问题,请参考以下文章