У меня есть система Joomla, и я пытаюсь изменить поиск, чтобы он правильно находил значения с плавающей запятой в базе данных.
Итак, у меня есть запрос, который создается во время выполнения и выглядит примерно так:
select 'column1'
from 'some_table'
where 'some_float_field' <=> '2.18'
Это не работает, оно никогда ничего не совпадает, хотя я вижу записи в БД с этим значением.
Поэтому я попытался сделать это вместо этого:
select 'column1'
from 'some_table'
where 'some_float_field' <=> 2.18
Не повезло, поэтому я попытался привести к десятичному типу (float по какой-то причине не работает), поэтому я попробовал это:
select 'column1'
from 'some_table'
where 'some_float_field' <=> CAST('2.18' AS DECIMAL(20, 2))
Без кубиков ...
Имейте в виду, что> = или <= возвращает правильные результаты, просто <=> вызывает у меня проблемы.
Как мне получить равенство, чтобы работать здесь?