2016-11-16 85 views
0

執行以下之後:PostgreSQL:在相同的字段/框中插入日期和時間?

INSERT INTO times_table (start_time, end_time) VALUES (to_date('2/3/2016 12:05', 
'MM/DD/YYYY HH24:MI'), to_date('2/3/2016 15:05', 'MM/DD/YYYY HH24:MI')); 

PostgreSQL只顯示日期。

如果可能,我需要運行一個單獨的select語句來提取存儲在該字段中的時間(即12:05和15:05)嗎?或者當查詢得到執行時,這些時間會完全丟棄。

我不想使用時間戳,因爲我想在Oracle SQL中執行此操作。

+0

'start_time'和'end_time'是什麼類型? – Schwern

回答

1

to_date返回...一個日期。驚喜!所以是的,這不會給你時間。

您應該使用timestamp數據類型來存儲返回時間戳的時間和函數。所以請使用to_timestamp

Oracle也有一個timestamp data typeto_timestamp function

一般來說,試圖編寫一組可以與多個數據庫一起工作的SQL會導致必須編寫非常簡單的SQL,這種SQL不利用數據庫的任何特性或者瘋狂。

相反,使用SQL查詢構建器爲您編寫SQL,處理兼容性問題,並允許您爲現有語句添加子句。例如,Javascript有Knex.js,Perl有SQL::Abstract

+1

好的,謝謝。將數據類型從日期重新分配給時間戳,然後將to_date()更改爲to_timestamp()函數,對其進行了修復。謝謝。 – gimmegimme

相關問題