正则表达式查询

时间:2015-08-18 21:49:11

标签: sql regex oracle11g

我必须读取一个字符串列,并根据字符串

在数字列中加载一个值

'S12345' - 12345(删除第一个字母并加载剩余的数字)

'12345' - 12345(直接加载数字)

'12345T' - NULL(如果最后一个字符是字母,则加载NULL)

'1A2B3C45'或'SQ12345' - NULL(如果字符串中有超过1个字母,则加载NULL)

我正在尝试使用CASE和REGEXP_LIKE设计一个查询,没有运气。有人可以帮我查询具体要求。在此先感谢.. !!

1 个答案:

答案 0 :(得分:2)

我认为你正在寻找这个:

^[A-Za-z]?(\d+)$

Here 是一些测试数据的示例,您可以添加自己的数据行来测试它。