Если Вы хотите искать как строка, можно бросить для отправки текстовых сообщений как это:
SELECT * FROM books WHERE price::TEXT LIKE '123%'
Я опаздываю стороне здесь, но если Вы имеете дело с целыми числами фиксированной длины, можно просто сделать целочисленное сравнение:
SELECT * FROM books WHERE price > 89999 AND price < 90100;
Протестированный на PostgreSQL 9.5:
- только цифры
select * from books where title ~ '^[0-9]* или,
select * from books where title SIMILAR TO '[0-9]*';
- запускаются с цифры
select * from books where title ~ '^[0-9]+';
;
или,
select * from books where title SIMILAR TO '[0-9]*';
- запускаются с цифры
select * from books where title ~ '^[0-9]+';
В PostreSQL можно использовать оператор SIMILAR TO ([еще 111] ):
-- only digits
select * from books where title similar to '^[0-9]*;
-- start with digit
select * from books where title similar to '^[0-9]%;