我有一个Redshift表,其中一列是JSON数组。我想将一些数据附加到该数组中。例如:
id | col1 | col2
1 | A | {"key": []}
2 | B | {"key": []}
3 | B | {"key": ['A']}
4 | B | {"key": ['A', 'B']}
我想创建一个像UPDATE <table> SET col2 = <something> where col1 = 'B'
这样的语句,这样我就可以得到:
id | col1 | col2
1 | A | {"key": []}
2 | B | {"key": ['C']}
3 | B | {"key": ['A', 'C']}
4 | B | {"key": ['A', 'B', 'C']}
发布于 2018-09-07 07:31:16
您必须编写自己的用户定义函数(UDF),传入列的当前值和要添加的元素,然后传回结果。
无论如何,如果可能的话,你真的应该避免在Amazon Redshift中使用JSON列。他们不能利用所有让Redshift变得伟大的功能(columnar、SORTKEY
等)。此外,您还会遇到类似的问题,这些问题不属于关系数据库的常规领域。
https://stackoverflow.com/questions/52200714
复制相似问题