代码之家  ›  专栏  ›  技术社区  ›  Biswa Patra

从红移中的一个超域获取键值

  •  0
  • Biswa Patra  · 技术社区  · 4 周前

    我有一个超级字段,用于保存JSON格式的数据-

    ** { “awsRegion”:“us-west-2”, “发电机数据库”:{ “近似创建日期时间”:1712584702997808, “密钥”:{ “prospectId”:{ “S”:“字符串_1” } }, “NewImage”:{ “prospectName”:{ “S”:“perform-test_Ram” }, “gaSessionId”:{ “S”:“1980117787.1628661599” } }, “SizeBytes”:467, “近似创建日期时间精度”:“MICROSECOND” }, “eventSource”:“aws:dynerdb” } **

    我想提取JSON值字符串prospectId,prospectName,gaSessionId我尝试将此字段转换为varchar,结果为空。我还尝试转换为JSON_serialize,然后转换为varchar,但结果仍然是空白的。有什么帮助吗?

    1 回复  |  直到 4 周前
        1
  •  0
  •   Bill Weiner    4 周前

    如果此列(col)的类型为super,则只需要使用“”导航到所需的字段符号与下面的查询类似,但由于字段名称为大写,因此还需要将Redshift设置为区分大小写:

    SET enable_case_sensitive_identifier TO true;
    
    SELECT col.dynamodb."Keys"."prospectId"."S" as prospectid
    FROM <table>;
    

    请注意,当列/字段标识符中有大写字符时,请使用双引号。

    推荐文章