2017-06-04 135 views
0

我試圖創建一個表來獲取溫度插入日期值

事情是這樣的:

| Id | TemDate | Temperature | 
| 1 | 2015-01-01 |   10 | 
| 2 | 2015-01-02 |   25 | 

我創造了我下表後,我用

insert into temperature 
values(1, '2015-01-01', 10); 

和我收到一條錯誤消息:「不是有效月份」

所以我將代碼更改爲

insert into temperature 
values(1, to_date('2015-01-01', 'yy-mm-dd'), 10); 

運行代碼的結果表顯示tempdate如'01 -Jan-2015' 而不是‘2015年1月1日之後’所示在上表

我累到使用該代碼來解決這個問題

insert into temperature 
values(1, to_date ('2015-Jan-01','yy-mm-dd'), 10); 

,但我仍然有'01 -Jan-2015' 而不是‘2015年1月1日’

我如何插入日期到表中,所以我可以有相同的格式,看起來像'2015-01-01'?謝謝您的幫助!

+1

更好地指定插入查詢中的列順序。列順序可能不匹配。否則查詢看起來很好。 – Shuddh

+0

我決定採取這種飛躍,並假設你真的在使用Oracle,因爲MySQL不支持'to_date()'。 –

+1

這是sql開發人員代表日期的格式。該對象正確存儲在數據庫中。 –

回答

3

首先,將數據插入表中時,提供列名。

其次,在Oracle中,你可以使用關鍵字date和ISO標準的日期:

insert into temperature(col1, col2, col3) -- whatever they are 
    values(1, date '2015-01-01', 10); 

這一點,當你查詢這一點,你會得到Oracle的「演講」的格式顯示。如果您需要其他格式,請使用to_char()

select to_char(datecol, 'YYYY-MM-DD') 
+0

非常感謝 – xiongbenxiong