Re: Search for underscore w/ LIKE

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Search for underscore w/ LIKE
Дата
Msg-id 10965.962991238@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Search for underscore w/ LIKE  (brianb-pgsql@edsamail.com)
Ответы Re: Search for underscore w/ LIKE  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-sql
brianb-pgsql@edsamail.com writes:
> How do I use LIKE to search for strings with an underscore? The
> documentation (well, Bruce's book) says to use 2 underscores (__) but it
> doesn't work.

If Bruce's book says that, I hope it's not too late for him to change
it ;-)

The correct way is to escape the underscore with a backslash.  You
actually have to write two backslashes in your query:
select * from foo where bar like '%\\_baz'

The first backslash quotes the second one for the query parser, so that
what ends up inside the system is %\_baz, and then the LIKE function
knows what to do with that.

Similarly, '\\%' would be the way to match a literal %.  You can
actually backslash-quote any single character this way in LIKE,
but % and _ are the only ones where it makes a difference.  (In the
regexp-matching operators there are many more special characters and
so many more times when you need the backslash trick.)
        regards, tom lane


В списке pgsql-sql по дате отправления:

Предыдущее
От: Patrick Coulombe
Дата:
Сообщение: order by accents?
Следующее
От: epa@post.cybercity.dk (Ebbe Poulsen)
Дата:
Сообщение: Get: Month & Month-1 & Month+1