首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在presto中将varchar转换为MAP(VARCHAR,VARCHAR)

如何在presto中将varchar转换为MAP(VARCHAR,VARCHAR)
EN

Stack Overflow用户
提问于 2019-03-21 19:47:36
回答 2查看 14.6K关注 0票数 6

从hello中选择映射;

我想将"mappings“列转换到映射中

像select CAST("mappings“as MAP) from hello;

这将在presto中抛出错误。我们如何将其转换为map?

EN

回答 2

Stack Overflow用户

发布于 2019-03-21 22:44:53

但是,如果字符串包含JSON映射,则可以使用json_parse函数将字符串转换为JSON类型的值,并通过cast将其转换为SQL。

示例:

代码语言:javascript
复制
WITH
data(c) AS (
    VALUES '{"foo": "baar", "foo1": "bar1"}'
),
parsed AS (
    SELECT cast(json_parse(c) as map(varchar, varchar)) AS m
    FROM data
)
SELECT m['foo'], m['foo1']
FROM parsed

产生:

代码语言:javascript
复制
 _col0 | _col1
-------+-------
 baar  | bar1
票数 13
EN

Stack Overflow用户

发布于 2019-03-21 19:53:01

select cast( json_parse(mappings) as MAP(VARCHAR,VARCHAR)) from hello1;

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55279784

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档