从Oracle数据库中的varchar中提取字符

时间:2016-12-12 15:47:04

标签: sql oracle

在我的数据库的一个表中,具有nvarchar(50)详细信息的列的值为abc $ xyz。我想将此列中$符号后的所有内容提取到另一个表中。

3 个答案:

答案 0 :(得分:2)

使用SUBSTR和INSTR

select substr(MyString,instr(MyString,'$')+1) as NewString -- Use +1 to exclude the '$'
from MyTable

答案 1 :(得分:0)

REGEXP_REPLACE也可以运作:

SQL> SELECT regexp_replace('abc$xyz','.*\$') result FROM dual;

RESULT
------
xyz

SQL> 

答案 2 :(得分:0)

如果已经使用了REGEX,我会选择 regexp_substr

select regexp_substr('abc$xyz','[^$]*$') result from dual;