Hi, Baurzhan!
I've checked the requests and here's what I think about it.
There is no mistake here.
Here's how I tested
1. select 'TextToMatch' like E'Te\%tch' returns true.
2. select 'TextToMatch' like E'nomatch' returns false.
3. select 'TextToMatch' not like E'Te\%tch' returns false.
4. select 'TextToMatch' not like E'nomatch' returns true.
LIKE ANY 1, 2 equals true.
LIKE NOT ANY 3, 4 equals true.
Maybe you need to use NOT ALL?
>The following bug has been logged on the website:
>Bug reference: 18218
>Logged by: Baurzhan Sakhariyev
>Email address: baurzhansahariev@gmail.com
>PostgreSQL version: 15.0
>Operating system: MacOS
>Description:
>https://www.db-fiddle.com/f/cpNjWRLmQT6UFb2wEo2LoG/0
>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
>Please note, that versions without E'' work as expected.
>select 'TextToMatch' like any (array['Te\%tch', 'nomatch']); -- false select 'TextToMatch' NOT like any
(array['Te\%tch',>'nomatch']); -- true