我有一个查询结果,应该得到一列的最后数字说“术语”
The value of column term can be like:
'term' 'number' (output)
---------------------------
xyz012 12
xyz112 112
xyz1 1
xyz02 2
xyz002 2
xyz88 88
注意:不限于以上场景,但要求最后 3 个或更少的字符可以是数字
我使用to_number(substr(term.name,-3))
的功能:(最初我假设要求最后3个字符总是数字,但我错了)
我使用 to_number 因为如果最后 3 位数字是 '012' 那么数字应该是 '12' 但正如在某些特定情况下可以看到的那样,例如 'xyz88'、'xyz1')会给出一个
ORA-01722: 无效号码
如何使用 substr 或 regexp_substr 实现此目的?
没有太多探索 regexp_substr 。