【发布时间】:2020-01-10 15:30:21
【问题描述】:
我在雪花数据库表中有一个 VARCHAR(16777216) 列,它的结构是一个包含 JSON 的数组。
列中的一行示例:[ {"Name":"John", "Last Name": "Doe"}, {"Name":"Frank", "Last Name": "Doe"}]
如何使用 sql 选择每行中的所有姓氏?
请注意,这是一个 VARCHAR 列。
【问题讨论】:
-
由于列定义为 VARCHAR,因此您无法通过 SQL 直接处理 JSON。根据您使用的关系数据库,您可以将列定义为显式 JSON 类型,并使用相应的查询来处理记录。 MySQL 中的示例:dev.mysql.com/doc/refman/8.0/en/json.html 因此,在您的情况下,由于您的列是 VARCHAR,您需要提取整个记录并通过您使用的任何编程语言务实地处理 JSON。我个人更喜欢在所有情况下都这样做。
标签: sql arrays get varchar snowflake-cloud-data-platform