示例表:
create table cpr (
TRANS_YYYYMM date,
CPR numeric[]);
一个表包含一个数组列,说数组限制在1到31之间。根据日期,我想将值推入特定的数组元素。
示例
if dd = 01 then cpr[01] = 3.0,
dd = 02 then cpr[02] = 4.0
dd = 05 then cpr[05] = 6.0
我正在写的声明:
INSERT INTO cpr
SELECT to_char(trans_date, 'yyyymm'), cpr[to_char(trans_date, 'dd')::int];
但是显然语法是不完整的。我需要以下帮助:
如何将数据插入特定的数组CPR元素?并非所有元素都会被填充。因此,将有一些空值。说出31个日期中只有25个日期会有数据。我应该只能将数据推送到特定日期。
如何选择值为4.0(即CPR [] = 4.0
当我尝试对数组进行嵌套时,如何查找元素的索引。
感谢和问候
bb23850
我尝试通过Postgres论坛进行谷歌搜索,但找不到满意的答案。