BUG #18438: regex isnt working for "^" , ".*"
The following bug has been logged on the website:
Bug reference: 18438
Logged by: Ankur Kumar
Email address: ankurawesome37@gmail.com
PostgreSQL version: 14.5
Operating system: macos ventura version 13.5
Description:
hey , i am getting empty query result while using postgres regex operator
"^" , ".*" etc . I am able to use "%" correctly but not getting any response
for other regex operator . For example - There is a user in users table
with > first_name - "aman", last_name - "kumar" .
But while quering i am not getting any result while querying users table
->
1) SELECT id from users where concat(users.first_name, ' ', users.last_name)
ILIKE '^am'
2) SELECT id from users where concat(users.first_name, ' ', users.last_name)
ILIKE 'am.*'
3) SELECT id from users where concat(users.first_name, ' ', users.last_name)
ILIKE '^am%'
Above queries didnt return any result
But it works for this query -
SELECT id from users where concat(users.first_name, ' ', users.last_name)
ILIKE 'am%' LIMIT 100
On Mon, Apr 15, 2024 at 1:20 PM PG Bug reporting form <
noreply@postgresql.org> wrote:
The following bug has been logged on the website:
Bug reference: 18438
Logged by: Ankur Kumar
Email address: ankurawesome37@gmail.com
PostgreSQL version: 14.5
Operating system: macos ventura version 13.5
Description:hey , i am getting empty query result while using postgres regex operator
"^" , ".*" etc . I am able to use "%" correctly but not getting any
response
for other regex operator
As the opening paragraph of the relevant docs say:
There are three separate approaches to pattern matching provided by
PostgreSQL: the traditional SQL LIKE operator, the more recent SIMILAR TO
operator (added in SQL:1999), and POSIX-style regular expressions. Aside
from the basic “does this string match this pattern?” operators, functions
are available to extract or replace matching substrings and to split a
string at matching locations.
https://www.postgresql.org/docs/current/functions-matching.html
You are mixing the first and third ones together.
David J.