0
使用PostgreSQL 9.1表,我想從timestamp列中更新日期列。使用EXTRACT函數更新postgreSQL列(用作表達式的子查詢返回多個行)
table: id|name|timesatmp -----------------
我創建了一個天列然後試圖解壓後的日數:
SELECT EXTRACT(DAY FROM TIMESTAMP '2001-02-16 20:38:40');
Result: 16
http://www.postgresql.org/docs/current/static/functions-datetime.html
,當我試圖使用表格來更新:
UPDATE table SET day =
(SELECT EXTRACT (DAY FROM "timestamp") FROM table);
我此錯誤:
More than one row returned by a subquery used as an expression
我發現我可以通過將LIMIT 1
添加到子查詢中來修復我的聲明,以確保至多返回1行。但仍不確定是否是正確的做法。
謝謝!事情是,我需要創建一個單獨的列,以便將其用作我的羣集數據庫中的分區鍵。感謝您對列名的建議! – Shadin
@Oxi:如果你想把它作爲分區鍵,你可能應該在觸發器中做到這一點。 –
你能解釋一下你的意思嗎?我有2個節點。當我插入數據時,我希望它在一天之間分開(在節點1中插入日1,3,5,7 ...等等,在節點2中插入日2,4,6 ...)讓我們說我讓僅在節點1上觸發插入(第1,3,5 ...天)等節點插入節點的其他日子在哪裏? – Shadin