Re: Question on the use of bracket expressions in Postgres

From: Michael Glaesemann <grzm(at)myrealbox(dot)com>
To: Jimmy Rowe <j(dot)l(dot)rowe(at)larc(dot)nasa(dot)gov>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Question on the use of bracket expressions in Postgres
Date: 2005-12-15 00:50:27
Message-ID: F96F2B16-2A2A-4A28-97E1-1B00C9902808@myrealbox.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general


On Dec 15, 2005, at 0:29 , Jimmy Rowe wrote:

> select * from catalog where file_name like 'abc%def%.200[2-5]%';
> The following select keeps returning "(0 rows)".

LIKE doesn't consider [2-5] to be a range, but rather the literal
characters '[2-5]'. If you're looking for regex, take a look at the
POSIX regex operator ~

http://www.postgresql.org/docs/current/interactive/functions-
matching.html#FUNCTIONS-POSIX-REGEXP

See if something like file_name ~ 'abc.*def.*\.200[2-5]'

select '2003' ~ '200[2-5]' as "yup", '2006' ~ '200[2-5]' as "nope";
yup | nope
-----+------
t | f
(1 row)

Michael Glaesemann
grzm myrealbox com

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Brendan Duddridge 2005-12-15 08:10:46 Re: Improving Availability
Previous Message Daniel Hertz 2005-12-15 00:29:00 Re: Multi-row update w. plpgsql function