Redshift SUPER 类型:访问返回空结果的驼峰式字段

Redshift SUPER type: accessing camel case fields returning null result

我正在尝试访问具有驼峰式字段的 SUPER 列的字段,例如:

{"FirstName": "Mario", "LastName": "Maria"}

假设我将此字段存储在 Redshift 中作为列 my_json,然后我将使用

查询它
SELECT my_json.FirstName
FROM my_table

那么我只会得到 null 结果而不是实际值。

如何处理这个用例?

Second Redshift 默认为所有列名称小写,因此 FirstName 被视为名字。您可以通过将 enable_case_sensitive_identifier 连接变量设置为 true 并引用所有需要大写字符的列名来启用区分大小写的列名:

SET enable_case_sensitive_identifier TO true; 

并将 my_json.FirstName 更改为 my_json."FirstName"

参见:

https://docs.aws.amazon.com/redshift/latest/dg/r_enable_case_sensitive_identifier.html

https://docs.aws.amazon.com/redshift/latest/dg/super-configurations.html