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

5

我有一个包含时间戳数组的表格,就像下面这样:

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

有人能告诉我如何将时间戳值插入到时间戳数组中吗?
1个回答

11

使用ARRAY关键字可以免除引用每个元素的必要性,允许按需要使用单引号。而使用ANSI时间戳字面值也会使这一过程变得更加轻松:

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

无论当前的区域设置如何,这都可以正常工作。


感谢您提供的示例和解释。它完美地运行了。 - user3439729
4
如果那个方法奏效了,请接受答案。 - Christian
4
看起来答案不会被接受。就像一个标点符号错误的熊猫。它吃东西、射击,然后离开。 - Jamie

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接