【问题标题】:Postgres query can't select specific geolocationPostgres 查询无法选择特定的地理位置
【发布时间】:2013-12-03 16:56:52
【问题描述】:

我正在编写一些 API,但我遇到了一个愚蠢的问题。如果我运行查询

SELECT * FROM u.loc

它将列出每个用户位置以及一些数据和参数"geocode"

ex. "geocode":"(48.2078099,16.3667456)"

(这是 json 格式,仅输出而不是数据库)

但是如果我运行一个查询

SELECT * FROM u.loc WHERE geocode = '(48.2078099,16.3667456)'

它将返回空结果。 我不知道这里有什么问题,如果有人知道请回答。谢谢

附言我正在使用 PostgreSQL 和 php,但我无法直接访问数据库(pgadmin)

【问题讨论】:

  • 尝试在围绕该点的框内选择所有喜欢的内容。我猜这是浮点精度问题。
  • “geocode”的数据类型是什么?
  • 问题已在 5 小时前通过查询 SELECT * FROM u.loc WHERE geocode[0] = ? AND 地理编码[1] = ? .感谢您的帮助! :)

标签: php sql json api postgresql


【解决方案1】:

您需要提供准确的值"geocode":"(48.2078099,16.3667456)"。 JSON 不是保存在数据库中的最佳格式。

SELECT * FROM u.loc WHERE geocode = '"geocode":"(48.2078099,16.3667456)"'

【讨论】:

  • 我的错误,它不是数据库中的 json 格式,我使用 json 只是为了输出。这也不起作用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-06
  • 2014-07-02
  • 2014-01-18
  • 1970-01-01
  • 2013-07-28
  • 2018-09-28
相关资源
最近更新 更多