我在 REDSHIFT 表“table_1”中有 SUPER 数据类型列,列名称“column_1”具有以下值:-
{
"exp_1": "Dynamic-Control",
"exp_2": "Manual",
"exp_3": "DUPLICATE"
}
当我像这样查询这个表时:-
SET enable_case_sensitive_identifier to TRUE;
SET enable_case_sensitive_super_attribute to TRUE;
select column_1."exp_3"
FROM table_1;
它返回带有双引号的值的结果
"DUPLICATE"
选择column_1.“exp_3” 来自表_1;
我的问题是如何在不使用双引号和不使用类型转换的情况下获取此值,因为类型转换将是查询时的开销。那么有什么解决办法吗?任何帮助将不胜感激
当你查询超级时,你会得到一个超级。您所看到的与
select 'DOUBLE'::super
相同,所以只需执行 select column_1."exp_3"::varchar(max) FROM table_1;