Я хотел бы сравнить две строки как числа в MySQL. У меня есть следующие данные в моей таблице:Как сравнить два числа как строки в MySQL?
0,15 kg 0,52 kg 0,68 kg 1,24 kg
Теперь я хотел бы сравнить строку с этими данными. То, что я попытался это:
SELECT * FROM `foobar` WHERE weight+0.0 <= '0,7 kg'
Поскольку MySQL, кажется, не понимает запятую в качестве десятичного разделителя Я попытался заменить его с точкой:
SELECT * FROM `foobar` WHERE REPLACE(weight+0.0,',','.') <= REPLACE('0,7 kg',',','.')
Однако я всегда получаю странные результаты, включая номера, которые являются больше 0,7. Как ни странно, когда я пытаюсь заказать колонку весов, правильность заказа!
Просто храните данные правильно – Strawberry
Конечно, вы должны отделить его, как упомянуто в Strawberry. Но mysql способен сортировать это. Например, 'где foo> '0,52'' работает. – Alex2php
Да, я знаю, что его нужно хранить по-другому. Сортировка не работает должным образом, если за номером есть «кг». – phpheini