2015-10-14 129 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