如何使用 <= 操作在文本列上构造 SoQL where 子句?

How to construct a SoQL where clause on a text column using <= operation?

尝试在 SoQL 文本字段上应用 <= 操作时,出现无法识别的参数错误。非常感谢任何帮助。

我尝试在此文本字段上应用多个不同的过滤器,但只有 = 操作有效。当我尝试任何其他方法时,我收到无法识别的参数错误。

例如: https://data.sfgov.org/resource/bbb8-hzi6.json?start24=10:00(工作正常) 但 https://data.sfgov.org/resource/bbb8-hzi6.json?start24<=10:00(失败)

根据此处 https://dev.socrata.com/docs/datatypes/text.html# 的文档,<= 计算字母数字之前或等于的字符串。我希望这些操作能够按规定对文本字符串起作用。

Socrata API 使用常规 GET 参数。在您的示例中,您正在执行 simple filtering,这样您就可以执行完全匹配。

https://data.sfgov.org/resource/bbb8-hzi6.json?start24=10:00 
  • start24=10:00 的 GET 参数 start24 的值为 10:00

但是,在您的示例中 <=。这意味着 URL 世界中完全不同的东西;这意味着:

  • start24<=10:00 的 GET 参数 start24< 的值为 10:00.

由于您不能使用任何其他运算符,例如 <=,Socrata 使用 SoQL 查询,其中特殊关键字以 $ 开头;例如$where.

https://data.sfgov.org/resource/bbb8-hzi6.json?$where=start24<="10:00"

现在翻译成:

  • $where=start24<="10:00" 的 GET 参数 $where 的值为 start24<="10:00"

现在,这个 Socrata 可以处理并将return 你的结果。