Re: [SQL] How match percent sign in SELECT using LIKE? - Mailing list pgsql-sql

From Bruce Momjian
Subject Re: [SQL] How match percent sign in SELECT using LIKE?
Date
Msg-id 199903162226.RAA20904@candle.pha.pa.us
Whole thread Raw
In response to Re: [SQL] How match percent sign in SELECT using LIKE?  (Zalman Stern <zalman@netcom.com>)
Responses Re: [SQL] How match percent sign in SELECT using LIKE?  (Zalman Stern <zalman@netcom.com>)
Re: [SQL] How match percent sign in SELECT using LIKE?  (Herouth Maoz <herouth@oumail.openu.ac.il>)
List pgsql-sql
> One useful and probably not too hard thing to do is to allow ESCAPE '\' on
> the end of the LIKE clause. Any character other than '\' will be an error.
> This allows Postgres users to write compliant SQL code that can be used
> with other databases.

This is an excellent idea, I will implement it.

>
> Another approach is to "rewrite" the match string at parse time. If it is a
> known constant, you can do the whole job there. Otherwise, you'd insert an
> extra node in the parse tree which does the rewrite just before calling hte
> "~~" operator. (I am assuming the match string can be a general expression
> and that you can add a function of two arguments which rewrites the first
> argument using the second argument as the escape character. This is of
> course not the utmost of micro efficiency, but I doubt it would matter
> much.)
>
> But I don't have in depth knowledge of the Postgres SQL parser and
> evaluator so I may be way off base.

That is also an excellent idea.  Just convert their escape to \ inside
the parser.  Of course, they still have to use \\ to get a \, as in any
string.  Great idea.

--
  Bruce Momjian                        |  http://www.op.net/~candle
  maillist@candle.pha.pa.us            |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

pgsql-sql by date:

Previous
From: Zalman Stern
Date:
Subject: Re: [SQL] How match percent sign in SELECT using LIKE?
Next
From: Zalman Stern
Date:
Subject: Re: [SQL] How match percent sign in SELECT using LIKE?