从postgres数组逗号分隔值转换为行和列

1tuwyuhd  于 2021-07-26  发布在  Java
关注(0)|答案(2)|浏览(392)

我在postgres中得到了下面的结果,有点卡住了。这些值来自一个上传的excel文件,所以我这里有一列逗号分隔的值,第一行是标题,后面所有的都是值

  1. | values |
  2. |col1,col2,col3|
  3. |val1,val2,val3|
  4. |val1,val2,val3|

我的问题是如何达到下面描述的我想要的输出

  1. | col1 | col2 | col3 |
  2. | val1 | val2 | val3 |
  3. | cal1 | val2 | val3 |

提前谢谢!

nzk0hqpo

nzk0hqpo1#

一个简单的方法是 split_part() :

  1. select split_part(col, ',', 1) as col1,
  2. split_part(col, ',', 2) as col2,
  3. split_part(col, ',', 3) as col3
  4. from t;

但是,这不允许您重新指定列名。这将是相当棘手的。我建议您只需对这些值进行硬编码,然后删除看起来像是包含列名的行。

gijlo24d

gijlo24d2#

这只是一个关于如何的基本草案。

  1. GetFirstRow()
  2. .SplitByNewLine()
  3. .SplitByComma()
  4. .SortByIndexIntoTheeseLists(hereAreTheLists)
  5. ....
  6. .Profit();

希望对你有帮助。

相关问题