Re: enforcing alphabetic/numeric content in "char" column

From: "Michael Paesold" <mpaesold(at)gmx(dot)at>
To: "Rod Kreisler" <rod(at)23net(dot)net>, "Joel Rodrigues" <borgempath(at)Phreaker(dot)net>, <pgsql-novice(at)postgresql(dot)org>
Subject: Re: enforcing alphabetic/numeric content in "char" column
Date: 2002-11-07 18:15:40
Message-ID: 02ec01c28689$b3e75900$4201a8c0@beeblebrox
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

Rod Kreisler" <rod(at)23net(dot)net> wrote:

> Joel Rodrigues wrote:
> > Hello,
> >
> > The task is to allow data entries like "007", leading zeros
> > included. I tried various numeric data types and they all trim
> > it down to "7". Using char(3) works, but I want to put a CHECK
> > on it to ensure no non-numeric data is entered. The following,
> > and numerous variations on it, do not work:
> >
> > iso3dnum char(3) CHECK (iso3dnum ~ '[0-9]')
> >
> > Any suggestions ?
> >
>
> Your regex should be '^[0-9]$' (the one you have will allow any string as
> long as there is a numeric character in it somewhere).

'^[0-9]$' only allows exactly one digit

'^[0-9]+$' allows one or more digis
'^[0-9]{3,3}$' means exactly 3 digits

Regards,
Michael Paesold

In response to

Browse pgsql-novice by date

  From Date Subject
Next Message Matt Clark 2002-11-07 23:15:56 Use of nextval, currval
Previous Message Tom Lane 2002-11-07 18:02:45 Re: enforcing alphabetic/numeric content in "char" column