Re: [GENERAL] escaping wildcard chars

From: Herouth Maoz <herouth(at)oumail(dot)openu(dot)ac(dot)il>
To: "Dan Wilson" <dan_wilson(at)geocities(dot)com>, "pgsql general" <pgsql-general(at)postgreSQL(dot)org>, pgsql-sql(at)postgreSQL(dot)org
Subject: Re: [GENERAL] escaping wildcard chars
Date: 1999-07-26 12:39:36
Message-ID: l03130304b3c20462e0db@[147.233.159.109]
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-sql

At 08:16 +0300 on 26/07/1999, Dan Wilson wrote:

> SELECT typname from pg_type WHERE NOT LIKE '_%'
>
> It gives me an empty set.
>
> Is there any way to escape the underscore. I tried to use '\_%', but that
> didn't help. Any suggestions?

Yes. Use '\\_%' instead. You see, a backslash is interpreted immediately as
"take the next char literally". This passes the underscore literally to
LIKE. Which is the same as '_%'. If you put a double backslash, the first
backslash takes the second one literally, thus passing '\_%' to LIKE. And
then LIKE knows that it should treat the underscore as non-special.

Ugly, ugly. I think we had a discussion either here or in one of the other
lists regarding the ESCAPE clause to LIKE. This behavior means that even if
we write ESCAPE '\', it won't work (Actually, it should be '\\'.

I really hate those backslashes. They are blatantly incompatible with SQL92
and will cause standard SQL to fail on Postgres, (and of course, Postgres
code to fail on other databases). There should be a setting, either in the
backend or in a SET command, such as "BACKSLASH_BEHAVIOR", which will be
either "literal" or "escape". It can default to the current behavior
(namely "escape") so that current code won't fail, but will enable people
to write sane standard code.

Herouth

--
Herouth Maoz, Internet developer.
Open University of Israel - Telem project
http://telem.openu.ac.il/~herutma

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Dan Wilson 1999-07-26 13:48:10 Re: [GENERAL] escaping wildcard chars
Previous Message Tim Joyce 1999-07-26 12:34:03 large objects

Browse pgsql-sql by date

  From Date Subject
Next Message Bruce Momjian 1999-07-26 13:37:49 Re: [SQL] database design SQL prob.
Previous Message John Reynolds 1999-07-26 11:23:39 Re: [SQL] RE: Tool for generating entity relation diagrams.