2016-03-29 31 views
0

我想在表中插入一些特定的值。但是,我無法將日期添加到我的表格中。其他值可以很容易地添加。我用這個查詢MYSQL中的DATEFORMAT()

INSERT INTO `student` (`bdate`) VALUES ('30.05.1992'); 

我需要添加這種格式。我試圖使用DATE_FORMAT('30.05.1992','%d.%m.%y') 它也沒有幫助。

+0

你忘了周圍的第二個參數報價爲'DATE_FORMAT'。 – Barmar

+1

做對立的方式。插入帶'1992-05-30'等格式的'bdate'並在讀取時格式化數據;} – zyexal

+0

@zyexal你的意思是'accepted'。 「例外」則相反。 – Barmar

回答

1
INSERT INTO `student` (`bdate`) VALUES (STR_TO_DATE('30.05.1992', '%d.%m.%Y')); 
+0

我也試過這一個,但它並沒有幫助我 – Soulmaster

+0

什麼是「bdate」的類型? – mmuzahid

+0

@Soulmaster因爲你有一個語法錯誤,請參閱我上面的評論。 – Barmar

0

如果你的字段類型爲日期,那麼你甚至可以在讀取數據,你可以把它轉換成自己的格式時插入僅YYYY-MM-DD格式的數據。

如果你想以自己的格式插入日期,那麼你可以使用varchar數據類型,即使在獲取數據時它也不會被優化,並且你可能會變慢。

+0

反正有沒有像2005年5月5日那樣放置日期的日期? – Soulmaster

+0

沒有。這是不可能的。 http://dev.mysql.com/doc/refman/5.7/en/date-and-time-literals.html – Thejas

+2

當你可以在獲取數據的時候很容易地轉換日期格式,那麼你爲什麼要插入特定的格式。 –

0

應該

INSERT INTO `student` (`bdate`) VALUES (STR_TO_DATE('30.05.1992', '%d.%m.%Y')); 

截至今年是4位數,例如,在1992年,所以它應該是%Y