有没有办法在Redshift SQL上的多个列上分隔像“csv”字符串这样的值?

ioekq8ef  于 2023-01-06  发布在  其他
关注(0)|答案(1)|浏览(151)

例如:如果执行select preferences from stores,则会得到以下结果:

|preferences                                                           |
|----------------------------------------------------------------------|
|"debit_rate"=>"0.00", "credit_rate_1"=>"0.01", "credit_rate_2"=>"0.02"|
|"debit_rate"=>"0.03", "credit_rate_1"=>"0.04", "credit_rate_2"=>"0.05"|
|"debit_rate"=>"0.06", "credit_rate_1"=>"0.07", "credit_rate_2"=>"0.08"|
|"debit_rate"=>"0.09", "credit_rate_1"=>"0.10", "credit_rate_2"=>"0.11"|

有没有办法让我得到这个结果?
| 借项利率|信贷利率1|信贷利率2|
| - ------| - ------| - ------|
| 0.00 |0.01分|0.02分|
| 0.03 |0.04|0.05分|
| 0.06 |0.07分|0.08分|
| 0.09 |0.10分|0.11|

hyrbngr7

hyrbngr71#

从把这些字符串变成有效的json看起来你做了很小的改变。redshift有json函数,它允许更智能地解析这些字符串。
如果您只是将“=〉”更改为“:”,并将整个内容用大括号“{}”括起来,您就应该在那里了。
然后,您可以将这些字符串转换为SUPER类型,并通过键值访问数据。请参见:https://docs.aws.amazon.com/redshift/latest/dg/query-super.html

相关问题