Thread: inconsistent functionality with LIKE operator
I'm using PostgreSQL version 7.1, and I'm having trouble with the LIKE statement. How would I find the value "a\bc"? I tried using the backslash to escape it: LIKE 'a\\b%'; If I specify: LIKE 'a\\bc', then it works, but if I wanted it to look for consecetive characters after the c, using the %, then it returns other values besides what I'm looking for. I also have the same problem with percent (%). I have a test string with the value "ab%c", and I want to look for that using LIKE. I tried: LIKE 'ab\%c', LIKE 'ab%%', and LIKE 'ab\%_', but these statements not only returned what I was looking for, but also other values: "abc","ABC", and "Abc". Phuong
Phuong Ma <pma@commandprompt.com> writes: > I'm using PostgreSQL version 7.1, and I'm having trouble with the LIKE > statement. How would I find the value "a\bc"? I tried using the > backslash to escape it: LIKE 'a\\b%'; I think you need four backslashes. The string-literal parser eats one level of backslashes, but you need the pattern that arrives at LIKE to look like "a\\b%". BTW, "PostgreSQL version 7.1" does not exist yet. regards, tom lane
On Thu, Mar 29, 2001 at 08:25:30AM +0000, Phuong Ma wrote: > I'm using PostgreSQL version 7.1, and I'm having trouble with the LIKE > statement. How would I find the value "a\bc"? I tried using the > backslash to escape it: LIKE 'a\\b%'; > > If I specify: LIKE 'a\\bc', then it works, but if I wanted it to look > for consecetive characters after the c, using the %, then it returns > other values besides what I'm looking for. > > I also have the same problem with percent (%). I have a test string > with the value "ab%c", and I want to look for that using LIKE. I tried: > LIKE 'ab\%c', LIKE 'ab%%', and LIKE 'ab\%_', but these statements not > only returned what I was looking for, but also other values: > "abc","ABC", and "Abc". with LIKE, '%' means "anything" just as /.*/ does in a perl regex; and '_' means "any character" just as /./ does in perl. by default. you can change the escape char, tho -- http://google.com/search?as_q=like+select+escape&as_sitesearch=postgresql.org -- does a brain cell think? will@serensoft.com http://sourceforge.net/projects/newbiedoc -- we need your brain! http://www.dontUthink.com/ -- your brain needs us!