如何将PostgreSQL时间戳数据类型插入到时间戳数组中



我有一个包含时间戳数组的表,如下所示:

CREATE TABLE start_times
(
start_date timestamp[]
);

我不确定如何插入时间戳值到数组中。我在一篇文章中读到,在向数组中插入时间戳时应该使用双引号,而不是单引号,例如:

INSERT INTO start_times VALUES (ROW('{{"10-JAN-15 12.51.14.340358000 AM"},{"11-JAN-15 12.51.14.340358000 AM"}}'));

然而,当我尝试时,我得到了以下错误:

ERROR: invalid input syntax for type timestamp: "10-JAN-15 12.51.14.340358000 AM"
SQL state: 22007
Character: 165

有人能告诉我如何插入时间戳值到时间戳数组?

使用ARRAY关键字使您不必引用每个元素,允许根据需要使用单引号。使用ANSI时间戳文字也使它容易得多:

INSERT INTO start_times 
VALUES 
(array[timestamp '2015-01-10 00:51:14', timestamp '2015-01-11 00:51:14']);

无论当前的语言环境设置如何

最新更新