在sql之后的gettin数据的正则表达式

时间:2016-01-15 11:38:01

标签: sql regex oracle oracle-sqldeveloper

我有一个分配编号的列,例如 - 11827,27266,91717,09818-2,726252-3,8716151-0,827272,18181

现在我选择

这样的记录
select assignment_number from table;

但是现在我想要以这样的方式检索列细节,即只检索数字而不用-2 -3等

726252-3---> 726252  8716151-0-->8716151

我知道我可以使用正则表达式,但我不知道如何使用它

2 个答案:

答案 0 :(得分:3)

这将选择字符-之前的翻转:

^([^-]+)

来自726252-3将匹配726252

答案 1 :(得分:2)

您可以使用regexp() substr:

select regexp_substr(assignmentnumber, '[0-9]+')

这将返回字符串中遇到的第一个数字字符串。