Postgres Array Issue

问题描述 投票:1回答:1

我有一个下表,希望输出将数据加载到另一个表中:

输入表数据(Tempabc):

ID,COURSE,ENROLL_DT
'12345fgh-2bce-467f',array['BB','TT',''],array['01/07/2007 12:00:00 AM','15/09/2007 12:00:00 AM',''],
'1234rty-863d-4e4f',array['CRKT','HKY',''],array['01/01/2005 12:00:00 AM','01/07/2012 12:00:00 AM','']

输出数据:

ID,COURSE,ENROLL_DT
'12345fgh-2bce-467f',array['BB','TT'],array['01/07/2007','15/09/2007'],
'1234rty-863d-4e4f',array['CRKT','HKY'],array['01/01/2005','01/07/2012']

你们能帮忙吗?我使用了以下查询,但是无法从第三列中提取日期。第三列是从文件导入时的varchar列,但我想将其加载到目标表中,该表是Date数据类型Array列:

SELECT ID,
ARRAY_REMOVE(COURSE,'') AS COURSE,ARRAY_REMOVE(ENROLL_DT,'') AS ENROLL_DT
FROM TEMPABC;

但是,我仍然无法从ENROLL_DT列中提取日期。有没有一种方法可以提取日期。有人可以建议吗?

sql arrays postgresql
1个回答
0
投票

如果要删除数组的空白元素并更改其数据类型,则可以array_removeunnest,转换值,最后再用array_agg将它们分组,例如

© www.soinside.com 2019 - 2024. All rights reserved.