Re: LIKE predicate and '\' character - Mailing list pgsql-hackers
From | Andy Hallam |
---|---|
Subject | Re: LIKE predicate and '\' character |
Date | |
Msg-id | 9se3qn$1dju$1@news.tht.net Whole thread Raw |
In response to | Re: LIKE predicate and '\' character (Karel Zak <zakkr@zf.jcu.cz>) |
List | pgsql-hackers |
Did you actually read my mail posting??? > I sent a previous mail with regard to using the '\' (backslash) character in > an SQL SELECT statement. > The outcome was that postgres does not escape the '\' itself - I need to do > it myself before submitting the SQL - fair enough, I now do this. I already know what you have just tried to explain to me. My question is not about having to escape a '\' character but the fact that the behaviour is not consistent when using the LIKE predicate. I.e - you have to escape the escape when using LIKE. Andy. "Karel Zak" <zakkr@zf.jcu.cz> wrote in message news:20011107151110.C6354@zf.jcu.cz... > On Wed, Nov 07, 2001 at 12:56:46PM -0000, Andy Hallam wrote: > > The PostgreSQL parser "eat" one '\' on arbitrary place in query. You > you want put '\' to some function (operator) you must use '\\'. > > test=# select '\\'; > ?column? > ---------- > \ > (1 row) > > test=# select '\\\\'; > ?column? > ---------- > \\ > (1 row) > > test=# select 'hello\\pg' like 'hello\\pg'; > ?column? > ---------- > f > (1 row) > > test=# select 'hello\\pg' like 'hello\\\\pg'; > ?column? > ---------- > t > (1 row) > > Karel > > > > PostgreSQL - 7.1.3 (installed on Linux 2.4.2-2) > > PSQLODBC.DLL - 07.01.0007 > > Visual C++ - 6.0 > > > > I sent a previous mail with regard to using the '\' (backslash) character in > > an SQL SELECT statement. > > The outcome was that postgres does not escape the '\' itself - I need to do > > it myself before submitting the SQL - fair enough, I now do this. > > > > i.e > > instead of > > mydb=# SELECT * FROM users WHERE id = 'WORKGROUP\me'; > > I now do > > mydb=# SELECT * FROM users WHERE id = 'WORKGROUP\\me'; > > > > BUT, if I use the LIKE predicate I have to escape the escape. > > > > i.e > > mydb=# SELECT * FROM users WHERE id LIKE 'WORKGROUP\\\\me'; > > > > > > Now this must be treated as a bug. > > As you can see it is not an error with the PSQLODBC driver as I ran the SQL > > from the command line with the same results. > > I am presuming that the backend parsing logic around the LIKE prodicate is > > ignoring the '\'. > > > > Is anyone working on this ?. Can anyone send me a fix, as without this I'm > > screwed. > > > > Thanks for any help > > > > Andy. > > ahm@exel.co.uk > > > > > > > > > > > > > > ---------------------------(end of broadcast)--------------------------- > > TIP 2: you can get off all lists at once with the unregister command > > (send "unregister YourEmailAddressHere" to majordomo@postgresql.org) > > -- > Karel Zak <zakkr@zf.jcu.cz> > http://home.zf.jcu.cz/~zakkr/ > > C, PostgreSQL, PHP, WWW, http://docs.linux.cz, http://mape.jcu.cz > > ---------------------------(end of broadcast)--------------------------- > TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
pgsql-hackers by date: