postgresql - 为什么这些非常相似的 jsonpath 之一有效,而另一个无效?
问题描述
在调试来自 ORM 的查询时遇到了这个问题,不知道为什么会发生这种情况。问主要是出于好奇。在 PostgreSQL 12.5 中会发生以下情况:
-- All good:
select ('$[*] ? (@.live_at <= 2020-11-18)')::jsonpath
jsonpath |
---------------------------------------|
$[*]?(@."live_at" <= (2020 - 11) - 18) |
-- But then:
select ('$[*] ? (@.live_at <= 2020-05-18)')::jsonpath
SQL Error [42601]: ERROR: syntax error, unexpected IDENT_P at end of jsonpath input
Position: 9
SQL Error [42601]: ERROR: syntax error, unexpected IDENT_P at end of jsonpath input
Position: 9
SQL Error [42601]: ERROR: syntax error, unexpected IDENT_P at end of jsonpath input
Position: 9
SQL Error [42601]: ERROR: syntax error, unexpected IDENT_P at end of jsonpath input
Position: 9
ERROR: syntax error, unexpected IDENT_P at end of jsonpath input
Position: 9
ERROR: syntax error, unexpected IDENT_P at end of jsonpath input
Position: 9
我怀疑这与八进制表示有关,但节点似乎吃得2020-05-18
很好。是什么赋予了?
解决方案
推荐阅读
- reactjs - 反应引导元素不居中
- python-3.x - Python/Selenium - 如何解析 URL 并单击下一页?
- javascript - 如何比较两个字符串日期时间?
- amazon-web-services - API Gateway - 从 S3 读取文件,该文件刚刚由同一休息端点上的 lambda 函数创建
- node.js - 如何在 express 和 psql 中设置与文件上传(multer)和 userId 的关联?
- amazon-web-services - AWS SES 设置在与域/EC2 不同的区域...验证域后电子邮件验证失败
- php - ahref 到其他网站,包括表格中的 php 变量 html
- mysql - 如何使用 VBA 将所有 Word 表单日期字段从 m/d/yyyy 重新格式化为 yyyy-mm-dd?
- javascript - 如何使用 setcookie() 在同一页面中提交表单(使用单选按钮)[编辑:使用 Javascript]
- python - 使用沙盒环境和 searchtweets API 了解 Twitter API 速率限制