"select ... where field like lower('%text%')" fails
От | Sean Kelly |
---|---|
Тема | "select ... where field like lower('%text%')" fails |
Дата | |
Msg-id | Pine.LNX.4.21.0103061130060.8795-100000@random.ncl.ac.uk обсуждение исходный текст |
Список | pgsql-bugs |
Hello, I was trying to send the following bug report from the web page but it kept timing out. I hope this is the only time it arrives on the list... I am trying to search a varchar(x) field with a query like: select ... where field like lower('%someText%') In one field, if the value someText is at the very start then the search fails. In another field, if the value someText is at the very start then the search succeeds. Here are some statements (the ones returning 0 rows should be returning something): isp=> \d user_tbl Table "user_tbl" Attribute | Type | Modifier -----------+-------------+------------------------- username | varchar(10) | not null company | varchar(80) | not null email | varchar(80) | password | varchar(20) | not null active | boolean | not null default 'TRUE' created | timestamp | not null Index: user_tbl_pkey isp=> SELECT username,company,active,created isp-> from user_tbl where username; username | company | active | created ----------+---------------------+--------+------------------------ sean | Sean's Test Company | t | 2001-01-14 14:01:58+00 (1 row) isp=> SELECT username,company,active,created isp-> from user_tbl where username like lower('%SEaN%'); username | company | active | created ----------+---------------------+--------+------------------------ sean | Sean's Test Company | t | 2001-01-14 14:01:58+00 (1 row) isp=> SELECT username,company,active,created isp-> from user_tbl where company like lower('%SEaN%'); username | company | active | created ----------+---------+--------+--------- (0 rows) isp=> SELECT username,company,active,created isp-> from user_tbl where company like lower('SEaN%'); username | company | active | created ----------+---------+--------+--------- (0 rows) isp=> SELECT username,company,active,created isp-> from user_tbl where company like lower('%EaN%'); username | company | active | created ----------+---------------------+--------+------------------------ sean | Sean's Test Company | t | 2001-01-14 14:01:58+00 (1 row) Any advice? Thanks, -- Sean
В списке pgsql-bugs по дате отправления: