Re: Convert to upper - Mailing list pgsql-general

From Peter Schindler
Subject Re: Convert to upper
Date
Msg-id B0021451229@tellurian.net
Whole thread Raw
In response to Convert to upper  (Matthias Teege <matthias@mteege.de>)
List pgsql-general
Matthias,

the easiest way is to use CHECK constraints. see example below.

Servus,
Peter

Matthias Teege wrote:
> is there any way to limit values to upper case strings?
> Somthing like:
>
> name char(15) DEFAULT (upper(name))
>
> or must I use triggers?

test=# create table bla(bb char(10) CHECK (bb =UPPER(bb)));
CREATE
test=# \d bla
             Table "bla"
 Attribute |     Type      | Modifier
-----------+---------------+----------
 bb        | character(10) |
Constraint: ((bb)::text = upper((bb)::text))

test=# insert into bla values ('OTTO');
INSERT 381409 1
test=# insert into bla values ('otto');
ERROR:  ExecAppend: rejected due to CHECK constraint bla_bb
ERROR:  ExecAppend: rejected due to CHECK constraint bla_bb
test=# select * from bla;
     bb
------------
 OTTO
(1 row)

pgsql-general by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Re: Want to learn the Postgresql database system
Next
From: David Lynn
Date:
Subject: Re: Perl & DBI/DBD::Pg confusion with finish