Redshift 无法将文本从 json 字段转换为布尔值



在Redshift数据库中,给定一个包含以下json的字段:

{"0":true,"1":true,"2":true,"3":true,"4":true,"5":true,"6":true}

虽然我可以使用json_extract_path_text(my_field, '0')提取true,当我试图提取一个元素并将其转换为布尔值时,如下所示:

SELECT 
json_extract_path_text(my_field, '0')::boolean
FROM my_table

然后得到以下错误:

不能将文本类型强制转换为布尔值

我不明白,因为下面的工作没有任何问题:

SELECT 'true'::boolean, 'false'::boolean;

这篇文章似乎回答了这个问题:https://stackoverflow.com/a/45799072

SELECT BOOLIN(TEXTOUT(json_extract_path_text('{"0":true}', '0')));

相关内容

  • 没有找到相关文章

最新更新