Re: BUG #7835: The _ acts like a wildcard when used as '%_%'

Поиск
Список
Период
Сортировка
От Jaime Casanova
Тема Re: BUG #7835: The _ acts like a wildcard when used as '%_%'
Дата
Msg-id CAJKUy5i3D78MeYLFUfmditpo7n3TXYM1fVci3=oahy_YBDRR0g@mail.gmail.com
обсуждение исходный текст
Ответ на BUG #7835: The _ acts like a wildcard when used as '%_%'  (elliott.groszek@navy.mil)
Список pgsql-bugs
On Tue, Jan 29, 2013 at 12:20 PM,  <elliott.groszek@navy.mil> wrote:
> The following bug has been logged on the website:
>
> Bug reference:      7835
> Logged by:          Elliott Groszek
> Email address:      elliott.groszek@navy.mil
> PostgreSQL version: 9.0.11
> Operating system:   Linux
> Description:
>
> Using the _ (underscore) in a wildcard query accesses values with - (dash=
)
> as well.  This results in unexpected behaviors when some data values cont=
ain
> the underscore and some data values contain the dash.
>

i guess you are using a LIKE expression. And in like both % and _ are
wildcards, as documented in:
http://www.postgresql.org/docs/9.2/static/functions-matching.html#FUNCTIONS=
-LIKE
And AFAIU, mandated by SQL Standard

"An underscore (_) in pattern stands for (matches) any single
character; a percent sign (%) matches any sequence of zero or more
characters."

if you only want to show those that contains an underscore (supressing
its wildcard behaviour) you need to use a escape character:

col LIKE '%\_%'

--
Jaime Casanova         www.2ndQuadrant.com
Professional PostgreSQL: Soporte 24x7 y capacitaci=F3n
Phone: +593 4 5107566         Cell: +593 987171157

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

Предыдущее
От: elliott.groszek@navy.mil
Дата:
Сообщение: BUG #7835: The _ acts like a wildcard when used as '%_%'
Следующее
От: Jeff Janes
Дата:
Сообщение: Re: Re: BUG #7748: "drop owned by" fails with error message: "unrecognized object class: 1262"