Redshift中查询含斜杠的Super类型字段值的方法求助
Redshift Super类型列含特殊字符字段的查询方法
针对你遇到的Redshift Super类型列中带斜杠的字段查询问题,正确的查询方式是使用方括号+单引号的下标访问语法:
WHERE roles['foo/bar'] = true
为什么之前的尝试都失败?
roles.foo/bar = true:Redshift会将/识别为除法运算符,解析逻辑变成roles.foo除以bar,因此报错找不到bar列"roles.foo/bar" = true:将整个字符串当作普通列名,但实际不存在名为roles.foo/bar的物理列roles."foo/bar" = true:Redshift的点号访问语法仅适用于符合标识符规则的键(无特殊字符),无法正确解析带斜杠的Super键- 反引号`的写法:Redshift不支持用反引号转义标识符,因此直接报语法错误
内容的提问来源于stack exchange,提问作者GC30
相关产品推荐
相关产品推荐

