我正在尝试自动化地址数据库的数据输入,但是有些房子的数字已添加到它们的末尾。因为我的数据库保持字母和数字分开,我需要以某种方式将这两个分开。我知道我需要一个子串。然而,我的问题是如何获得第一个字母的位置。 例如17b 会给我3 其中259a 会给我4个
答案 0 :(得分:1)
您应该考虑使用REGEXP_INSTR
或REGEXP_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;