所以我的街道地址如下:
123 Street Ave
1234 Road St Apt B
12345 Passage Way
现在,我很难提取街道编号而不提取任何街道名称。
我只想要:
123
1234
12345
答案 0 :(得分:1)
使用它的方式,有两个简单的选项可返回所需的结果。一个使用正则表达式(选择字符串中的第一个数字),而另一个使用正则表达式返回第一个子字符串(用空格分隔)。
SQL> with test (address) as
2 (select '123 Street Ave' from dual union all
3 select '1234 Road St Apt B' from dual union all
4 select '12345 Passage Way' from dual
5 )
6 select
7 address,
8 regexp_substr(address, '^\d+') result_1,
9 substr(address, 1, instr(address, ' ') - 1) result_2
10 from test;
ADDRESS RESULT_1 RESULT_2
------------------ ------------------ ------------------
123 Street Ave 123 123
1234 Road St Apt B 1234 1234
12345 Passage Way 12345 12345
SQL>