В Postgresql-почему это нормально"LIKE" не работает, как ожидалось
select * from prod where code like '1%'
select * from prod where code like '%1'
но это возвращает 0 строк (там коды главной страницы/окончания с цифрой 1)
select * from prod where code like '1%1'
Update
Это происходит в моей нынешней инсталяции:
# psql --version
psql (PostgreSQL) 8.3.7
create table a(code char(10));
CREATE TABLE
db=# insert into a values('111');
INSERT 0 1
db=# select * from a where code like '1%';
code
------------
111
(1 row)
db=# select * from a where code like '%1';
code
------
(0 rows)
db=# select * from a where code like '1%1';
code
------
(0 rows)
Update 2
Это тип данных! С varchar это нормально!
спасибо.
Возможно, вы захотите изменить свой вопрос - я этого не понимал. Если postgres не показывает данные с кодом «111» (например) с вашими запросами, тогда что-то нарушается, но, честно говоря, я действительно не верю в это. Покажите нам данные, запрос, полученный результат и ожидаемый результат. – 2009-10-09 11:17:20