在postgresql中查找与一个数字最接近的数字

在postgresql中查找与一个数字最接近的数字,postgresql,Postgresql,我有这样一个数据库: people id name zip 1 bill 84058 2 susan 90001 3 john 64354 假设我有一个输入号码65432 我想写一个类似这样的查询: people id name zip 1 bill 84058 2 susan 90001 3 john 6435

我有这样一个数据库:

people
id      name       zip
1       bill       84058
2       susan      90001
3       john       64354
假设我有一个输入号码65432

我想写一个类似这样的查询:

people
id      name       zip
1       bill       84058
2       susan      90001
3       john       64354
从zip最接近65432限制1的人中选择*

并在行返回时获取
john


我在Postgresql中找不到最接近的命令是什么

您可以使用
ABS
函数:

SELECT *
FROM people
ORDER BY ABS(65432 - zip) ASC LIMIT 1

您可以使用
ABS
功能:

SELECT *
FROM people
ORDER BY ABS(65432 - zip) ASC LIMIT 1