如何从正确的PLSQL中读取字符串

如何从正确的PLSQL中读取字符串,plsql,plsqldeveloper,Plsql,Plsqldeveloper,在表列中,我有以下值: DV-2011-01-000004(数据类型为varchar2) 如何获取字符串“000004”的部分?在t-sql中,它们有这个right()函数,但在PL sql中,我似乎找不到一个与t-sql中right()函数类似的函数 谢谢您的帮助。您可以使用: SUBSTR('DV-2011-01-000004', INSTR('DV-2011-01-000004', '-', -1) +1) 当使用带有负起始位置的INSTR时,他将找到最后一个索引“-”。 然后SUBS

在表列中,我有以下值:

DV-2011-01-000004(数据类型为varchar2)

如何获取字符串“000004”的部分?在t-sql中,它们有这个right()函数,但在PL sql中,我似乎找不到一个与t-sql中right()函数类似的函数

谢谢您的帮助。

您可以使用:

 SUBSTR('DV-2011-01-000004', INSTR('DV-2011-01-000004', '-', -1) +1)
当使用带有负起始位置的
INSTR
时,他将找到最后一个索引“-”。
然后
SUBSTR
将从这次事件一直到结束(因为我没有提供长度)

好的,让他决定,我通常支持一般解决方案,而不是具体解决方案。我们无法确切知道他们需要什么样的决定。可能是因为我的解决方案是通用的,因为OP没有指定如何识别字符串的最后一部分(固定长度或字符)。这个答案与另一个答案一样“通用”。在pl/sql中,双引号用于标识符,不适用于字符串为了使此问题对未来的开发人员有所帮助:请编辑您的问题,明确说明您的要求是什么-您是希望获取最后一个“-”之后的字符串,还是仅获取最右边的6个字符?
substr('DV-2011-01-000004', length('DV-2011-01-000004')-6 + 1 )