首页 > 解决方案 > 如何选择接近某个值但不需要是 SQL 中的确切值的数据?

问题描述

我需要在 SQL 中使用 Select 进行查询,我必须显示哪个字段更接近数字 PI (3,141592...)。我怎么能那样做?

select * from Table where --????;

标签: sqlpostgresql

解决方案


对于 MySQL 和 PostgreSQL,您可以对结果进行排序ABS(col - 3.141592)并用于LIMIT 1获取最接近的值,例如

SELECT col
FROM yourtable
ORDER BY ABS(col - 3.141592)
LIMIT 1

对于 SQL Server,使用TOP 1 col和删除LIMIT 1; 对于 ANSI SQL ,您可以使用FETCH FIRST 1 ROW.LIMIT 1


推荐阅读