Я работаю над проектом, и я немного застрял в этом запросе.MySQL между функцией с большими номерами
SELECT *
FROM product_product
WHERE (`region` = 'Balearen' OR `region` = 'Ibiza' OR `city`='Ibiza') AND `price` BETWEEN '100' AND '1500' AND `published`='1'
ORDER BY RAND()
LIMIT 1000
Это дает мне только два результата, и когда я выбираю между 100 и 999, я получаю правильные результаты.
Это дает мне правильные результаты:
SELECT *
FROM product_product
WHERE (`region` = 'Balearen' OR `region` = 'Ibiza' OR `city`='Ibiza')
AND `price` BETWEEN '100' AND '999' AND `published`='1' ORDER BY RAND() limit 1000
Цены сохраняются, как это "102.00".
Так что мой вопрос в том, почему эта статья действует так? Я делаю что-то неправильно?
Спасибо за помощь.
Сохраняется ли он как строка? –
Если ваши поля сохранены как строка, это нормально, вы должны использовать его как int для использования. Между должным образом – Bdloul
Спасибо. Да, цена/хранилась как varchar. Я должен положить это в DECIMAL (2,2)? –