Lui*_*023 5 sql amazon-web-services presto amazon-athena trino
我有一个 json 格式如下:
myjson = {"key":["value1","value2"]}和 a 我想将其转换为字符串
有时这个 json 可以返回 null:
myjson = {"key":null}
。
我想获取字符串形式的值,但是当我尝试强制转换时出现错误cast(json_extract(myjson,'$.key') as varchar)。该错误表明无法将 '["value1","value2"]' 转换为 varchar。我认为这是因为双引号。我需要帮助来解决这个问题。
编辑1:
您可以使用json_format(尽管根据以下用法,json_extract在某些情况下不使用强制转换/格式/等可能没问题):
-- sample data
with dataset(json_str) as (
values ('{"key":["value1","value2"]}'),
('{"key":null}')
)
-- query
select json_format(json_extract(json_str,'$.key'))
from dataset;
Run Code Online (Sandbox Code Playgroud)
输出:
| _col0 |
|---|
| [“值1”,“值2”] |
| 无效的 |
另一种选择是将结果转换为json_extract并array(varchar)使用array_join它(例如,请参阅此答案)。
| 归档时间: |
|
| 查看次数: |
3244 次 |
| 最近记录: |