我有一个这样的数据库:
people id name zip 1 bill 84058 2 susan 90001 3 john 64354
假设我输入的号码为65432
我想写这样的查询:
SELECT * FROM people WHERE zip CLOSEST TO 65432 LIMIT 1
并获得john
作为行返回。
我找不到与PostgreSQL最接近的命令
您可以使用ABS
功能:
SELECT * FROM people ORDER BY ABS(65432 - zip) ASC LIMIT 1