我有一个保存 JSON 格式数据的超级字段 -
** { "awsRegion": "us-west-2", “动态数据库”:{ “大约创建日期时间”:1712584702997808, “钥匙”:{ “前景ID”:{ “S”:“字符串_1” } }, “新图片”: { “前景名称”:{ "S": "执行测试_Ram" }, “gaSessionId”:{ “S”:“1980117787.1628661599” } }, “大小字节”:467, "近似创建日期时间精度": "微秒" }, “事件源”:“aws:dynamodb” } **
我想提取JSON值字符串prospectId,prospectName,gaSessionId我尝试将此字段转换为varchar,结果为空。我还尝试转换为 JSON_serialize,然后转换为 varchar,但结果仍然是空白。有关如何解决此问题的任何帮助吗?
如果此列 (col) 的类型为 super,您只需使用“.”导航到您想要的字段。符号。与下面的查询类似,但由于您有大写字段名称,因此您还需要将 Redshift 设置为区分大小写:
SET enable_case_sensitive_identifier TO true;
SELECT col.dynamodb."Keys"."prospectId"."S" as prospectid
FROM <table>;
请注意,当列/字段标识符中包含大写字符时,请使用双引号。