在varchar2 Oracle sql中查找第一个字母

时间:2015-01-12 19:36:23

标签: sql oracle

我正在尝试自动化地址数据库的数据输入,但是有些房子的数字已添加到它们的末尾。因为我的数据库保持字母和数字分开,我需要以某种方式将这两个分开。我知道我需要一个子串。然而,我的问题是如何获得第一个字母的位置。 例如17b 会给我3 其中259a 会给我4个

2 个答案:

答案 0 :(得分:1)

您应该考虑使用REGEXP_INSTRREGEXP_SUBSTR作为标准INSTR,而SUBSTR函数将不具备您需要的灵活性。

在您的情况下,您会使用类似REGEXP_INSTR(column_name, '[^0-9 ]')的内容。

答案 1 :(得分:0)

regexp_replace用于数字或字母

select regexp_replace('259a', '[A-Za-z]') from dual;
select regexp_replace('259a', '[0-9]') from dual;

FIDDLE