2015-10-14 125 views
1

我有一个包含时间戳的阵列,像下面的表格:如何插入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 
我,我应该插入一个时间戳到一个数组时使用双引号,而不是单引号,像这样的文章阅读

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

回答

1

使用ARRAY关键字可释放引用每个元素的必要性,允许根据需要使用单引号。并且使用ANSI时间戳文字也使得它更容易:

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

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

+0

感谢您的示例和解释。这工作完美。 – user3439729

+2

@ user3439729:如果有效,请接受答案。 – Christian

+0

它看起来不会接受答案。这就像一个标点不好的熊猫。他吃,射击和离开。 – Jamie