我有一些带有邮政编码的jsonb(仅美国5位数邮政编码,+ 4是一个单独的字段),我想使用
查询它... where jsondoc->>'zip'::int = [some int value]
我还想在jsondoc->>'zip'::int
上创建一个表达式索引
问题是json中的一小部分zip无效,因此查询因整数解析错误而失败。出于同样的原因,索引创建失败。
我已经分析了数据,并确定我的项目要求我忽略zip字段不是有效int的行。
如何在索引和查询中都做到这一点?
注意:我知道我可以使用字符串比较。那不是重点。我想学习如何有条件地解析一个int,上面只是一个简单的例子。