Re: BUG #18218: NOT LIKE ANY returns same result as LIKE ANY when array items are wrapped into E''

Поиск
Список
Период
Сортировка
От Bauyrzhan Sakhariyev
Тема Re: BUG #18218: NOT LIKE ANY returns same result as LIKE ANY when array items are wrapped into E''
Дата
Msg-id CAKpL73tpx-+ep1Vt5jaGA5bb28DQwxoLoyn9zLRGpB1cZXgCAA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: BUG #18218: NOT LIKE ANY returns same result as LIKE ANY when array items are wrapped into E''  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-bugs
Oh, you right, sorry for the noise and thanks for the clarification!

On Thu, Nov 30, 2023 at 2:06 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
PG Bug reporting form <noreply@postgresql.org> writes:
> select 'TextToMatch' like any (array[E'Te\%tch', E'nomatch']); -- true,
> correct
> select 'TextToMatch' NOT like any (array[E'Te\%tch', E'nomatch']); -- true
> but must be false because it's a negated version of the expression above

No, it is not.  "NOT LIKE" is the operator to apply in this context,
so the second expression returns true if the test string is NOT LIKE
either of the array elements.  You could write

NOT ('TextToMatch' like any (array[E'Te\%tch', E'nomatch']))

to get the behavior you are after.  Or write NOT LIKE ALL,
as Orlov suggests.

                        regards, tom lane

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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: BUG #18218: NOT LIKE ANY returns same result as LIKE ANY when array items are wrapped into E''
Следующее
От: Şeyma Alkan
Дата:
Сообщение: Re: BUG #18198: Constantly getting errors