Oracle Apex获得邮政编码的第一部分

时间:2015-01-16 15:35:04

标签: oracle oracle11g oracle-apex

Oracle 11g

APEX 4.2.6.00.03

我在表单中有邮政编码字段。例如。 (L10 1TY或WF2 5TG或W7 5RR)

我还有一个区域查找表,从中可以看到一个区域

例如

  • L =地区1
  • WF =地区2
  • W = 3区

如何获取邮政编码的第一部分,以便我可以根据区域表查找值。

1 个答案:

答案 0 :(得分:2)

您可以使用正则表达式来获取第一个只包含字符的子字符串,例如regexp_substr(postcode, '^[[:alpha:]]+')

例如:

with t as (
  select 'L10 1TY' as postcode from dual
  union all select 'WF2 5TG' from dual
  union all select 'W7 5RR' from dual
)
select postcode, regexp_substr(postcode, '^[[:alpha:]]+', 1, 1) as region
from t;

POSTCODE REGION 
-------- -------
L10 1TY  L       
WF2 5TG  WF      
W7 5RR   W       

详细了解手册中的the regexp_substr() functionOracle's support regular expressions