删除字符串oracle sql中的第一个字符

时间:2018-02-06 18:52:04

标签: sql oracle

这可能是一个非常简单的问题,但我已经没有想法了。 我想从字符串中删除前5个字符。

示例字符串将如下所示: 1Y40K100R

我想只显示'%K'之后的数字。在这种情况下应该给我100R的结果。 请注意' K'可以有不同的数字。它可以是4位数字或2位数字。

2 个答案:

答案 0 :(得分:3)

只需使用substr()

select substr(col, 6)

这将返回从第六个开始的所有字符。

有多种方法可以在k之后返回所有字符。如果您知道该字符串包含k,请使用instr()

select substr(col, instr(col, 'K') + 1)

答案 1 :(得分:0)

您可以使用regexp_substr

select regexp_substr('1Y40K100R', '(K)(.*)', 1, 1, 'i', 2) from dual

没有正则表达式的方法:

select substr('1Y40K100R', instr('1Y40K100R', 'K') +1) from dual

这可能看起来不那么优雅,但它通常比正则表达式更好。