2013-12-03 68 views
1

我想在Oracle SQL * Plus中創建一個表,它不會採用數據類型time,但在採用數據類型date時沒有問題。SQL無效的數據類型時間

drop table order; 
create table orders (
order_id char(4) not null, 
order_date date, 
order_time time, -- invalid datatype 
cash_time char(3), 
primary key(order_id) 
); 

這很奇怪......這是爲什麼?我該如何解決它,或者有沒有其他方法可以使用time

+0

看這裏http://docs.oracle.com/cd/B28359_01/server.111/b28318/datatype.htm – BWS

+0

Oracle中沒有'TIME'類型。 [這是一個相當不錯的答案](http://stackoverflow.com/a/13187624/1454048)從一個類似的問題。 – admdrew

回答

2

在Oracle中沒有數據類型作爲TIME。您可以使用TIMESTAMP or DATE。所以我認爲你需要改變TIMETIMESTAMPDATE,事情會爲你工作。

我想你對這個TIME數據類型感到困惑。

+0

呃,不是真的。 'TIMESTAMP'實際上只是'DATE' +小數秒。除非用戶需要小數秒,否則只需使用'DATE'的時間部分。 – admdrew

+0

@admdrew: - 我同意,但我只是想告訴OP,TIME不是他正在查找的數據類型。 Definetely有他可以尋找的選項 –

+0

而downvote的原因是? –

0

我很快看着orcle數據類型documentation並沒有看到時間數據類型,我認爲這是問題所在。 爲什麼不使用日期數據類型作爲單個字段,而不是爲日期和時間創建兩個字段。