Обсуждение: force varchar column to be lowercase

Поиск
Список
Период
Сортировка

force varchar column to be lowercase

От
Kevin Kempter
Дата:
Can I use a check constraint, or something other than a function to force a
column to be lowercase only?


Thx in advance

Re: force varchar column to be lowercase

От
Andreas Wenk
Дата:
Kevin Kempter schrieb:
> Can I use a check constraint, or something other than a function to force a
> column to be lowercase only?
>
>
> Thx in advance

try to use regexp in your CHECK CONSTRAINT:

CHECK (column::bpchar ~ '^[a-z]+$'::bpchar::text)

Cheers

Andy

Re: force varchar column to be lowercase

От
Greg Stark
Дата:
On Tue, Jul 28, 2009 at 11:15 AM, Andreas
Wenk<a.wenk@netzmeister-st-pauli.de> wrote:
> Kevin Kempter schrieb:
>>
>> Can I use a check constraint, or something other than a function to force
>> a column to be lowercase only?
>>
>>
>> Thx in advance
>
> try to use regexp in your CHECK CONSTRAINT:
>
> CHECK (column::bpchar ~ '^[a-z]+$'::bpchar::text)

Better would be CHECK (column = tolower(column)) which won't fail on
non-letters and will work in non-C locales

--
greg
http://mit.edu/~gsstark/resume.pdf

Re: force varchar column to be lowercase

От
Andreas Wenk
Дата:
Greg Stark schrieb:
> On Tue, Jul 28, 2009 at 11:15 AM, Andreas
> Wenk<a.wenk@netzmeister-st-pauli.de> wrote:
>> Kevin Kempter schrieb:
>>> Can I use a check constraint, or something other than a function to force
>>> a column to be lowercase only?
>>>
>>>
>>> Thx in advance
>> try to use regexp in your CHECK CONSTRAINT:
>>
>> CHECK (column::bpchar ~ '^[a-z]+$'::bpchar::text)
>
> Better would be CHECK (column = tolower(column)) which won't fail on
> non-letters and will work in non-C locales

yes . but Kevin was asking for a way without a function. And by the way - it should read
lower instead of tolower ... or am I wrong?

Cheers

Andy