You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Presto中访问嵌套数组元素时如何转义短横线‘-’?

在Presto中访问含短横线的嵌套结构体字段

当你访问带短横线的结构体字段home-room时,Presto会默认把home-room解析成home字段与room字段的减法运算,这就是为什么报错提示找不到class.students.home字段。

解决方法很简单,用双引号把带短横线的字段名包裹起来,让Presto将其识别为一个完整的标识符:

SELECT
    class.students."home-room"
FROM
    school_table_json
CROSS JOIN UNNEST (classrooms) c (class)
WHERE year = '2022'

你也可以使用反引号来包裹字段名,效果完全一致:

SELECT
    class.students.`home-room`
FROM
    school_table_json
CROSS JOIN UNNEST (classrooms) c (class)
WHERE year = '2022'

这两种方式都能让Presto正确识别home-room是一个单独的字段名,而非运算表达式。

内容的提问来源于stack exchange,提问作者Silas Everett

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 04:24:32