From: | Richard Broersma Jr <rabroersma(at)yahoo(dot)com> |
---|---|
To: | nhrcommu(at)rochester(dot)rr(dot)com, pgsql-novice(at)postgresql(dot)org |
Subject: | Re: Simple, Add constraint |
Date: | 2007-06-20 15:47:21 |
Message-ID: | 702872.44400.qm@web31812.mail.mud.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-novice |
--- nhrcommu(at)rochester(dot)rr(dot)com wrote:
> Trying to add a constraint so that all phone numbers will be in a
> '111-222-3333' format. Tried a few combos, with below the latest effort.
>
> ALTER TABLE "fortour"."mine" ADD CONSTRAINT mine_cnstr_2 CHECK (phone
> LIKE '999s999s9999')
in addition the the LIKE predicate, you can use regular expressions which are a more powerful tool
for pattern recognition.
ALTER TABLE "fortour"."mine"
ADD CONSTRAINT mine_cnstr_2
CHECK (phone ~ E'^[0-9]{3}-[0-9]{3}-[0-9]{4}$');
http://www.postgresql.org/docs/8.2/interactive/functions-matching.html#FUNCTIONS-POSIX-REGEXP
However, you can generalize this by using creating a DOMAIN called PhoneNumbers. Notice the
example used for zipcodes in the following link:
http://www.postgresql.org/docs/8.2/interactive/sql-createdomain.html
Regards,
Richard Broersma Jr.
From | Date | Subject | |
---|---|---|---|
Next Message | nhrcommu | 2007-06-20 16:05:05 | Re: Simple, Add constraint |
Previous Message | Tom Lane | 2007-06-20 15:34:56 | Re: meaning of "create role" |