Re: How to split up phone numbers?

From: Filip Rembiałkowski <filip(dot)rembialkowski(at)gmail(dot)com>
To: Andreas <maps(dot)on(at)gmx(dot)net>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: How to split up phone numbers?
Date: 2012-02-20 15:17:11
Message-ID: 4F4263F7.5050508@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

At 2012-02-20 15:50, Andreas wrote:
> Hi,
> is there a way to split up phone numbers?
> I know that's a tricky topic and it depends on the national phone
> number format.
> I'm especially interested in a solution for Germany, Swizerland and
> Austria.
>
> I've got everything in a phone number column that makes hardly sense
> like:
> +49432156780
> 0049 4321 5678 0
> 04321/5678-0
> and so on...
> Those 3 samples are actually the same number in different notations.
>
> Aim would be to get a normalized number split up in 4 seperate columns
> nr_nation
> nr_city
> nr_main
> nr_individual
>
> so I end up with
> 49 4321 5678 0 for central
> 49 4321 5678 42 for Mr. Smith
>
> Is this doable?
>

yes, sure - with regular expressions and/or with bunch of IF/THEN/ELSE
blocks in PL/PgSQL.

see regexp_split_to_array, and other regex functions in the manual:

http://www.postgresql.org/docs/current/static/functions-matching.html#FUNCTIONS-POSIX-REGEXP

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Marcin Krawczyk 2012-02-21 07:28:10 Function definitions - batch update
Previous Message Andreas 2012-02-20 14:50:33 How to split up phone numbers?