Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

Re: Simple, Add constraint



--- 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.







Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group