Sql 合并类型jsonb和boolean无法匹配
我有问题的下一部分:Sql 合并类型jsonb和boolean无法匹配,sql,json,postgresql,group-by,Sql,Json,Postgresql,Group By,我有问题的下一部分: 'goals', COALESCE( json_object_agg(log.type, COALESCE(log.data, TRUE)) FILTER (WHERE log.type IS NOT NULL), '{}' ) 我得到了下一个错误: ERROR: COALESCE types jsonb and boolean cannot be matched LINE 30: ...ject_agg(log
'goals', COALESCE(
json_object_agg(log.type, COALESCE(log.data, TRUE)) FILTER (WHERE log.type IS NOT NULL),
'{}'
)
我得到了下一个错误:
ERROR: COALESCE types jsonb and boolean cannot be matched
LINE 30: ...ject_agg(log.type, COALESCE(log.data, TRUE)) FIL...
^
查询错误出现在此处:
coalesce(log.data, true)
coalesce()
的两个操作数必须具有相同的数据类型。它看起来像是data
是json
,因此它与布尔值true
不匹配
可能需要将布尔值转换为json文本:
coalesce(log.data, 'true'::json)
这也应该起作用:
coalesce(log.data, 'true')
在cast之后,我得到了几乎相同的错误:COALESCE类型jsonb和text无法匹配。这应该是“真实的”,没有猫:)