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
我正在尝试访问具有驼峰式字段的 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