Тип REAL
в Postgres является неточным, это означает, что точные значения, которые вы использовали в своем запросе, могут фактически не сохраняться как есть.Вы должны использовать NUMERIC
или DECIMAL
, если вам требуется точное хранилище.См. Документацию Postgres для получения дополнительной информации о точных и неточных числовых типах.
В качестве обходного пути для поиска вашей записи вы можете попробовать:
select lat, lng
from mytable
where round(lat, 1) = 35.7 and round(lng, 1) = 139.4;
Если указано вышезапрос возвращает более одной записи, надеюсь, вам будет понятно, какую именно запись вы хотите найти.