2012-12-13 25 views
-1

我幾乎不想問這個問題,我在輸入下面的查詢時遇到了麻煩,我想輸入不同格式的日期值(dd/mm/yy) 。 mysql很累,不想和我一起輸入一個值,但格式錯誤。我把字符串03-08-2009放在一個變量(java)中並使用?準備執行查詢。mysql使用java prep語句將值插入到某些日期格式的數據庫中

INSERT INTO project (code, sdatum) VALUES(
      12, STR_TO_DATE('03-08-2009', '%d/%m/%Y')); 

這是MySQL的鑲入列的表

'12', '2009-08-03'

PS:我用的工作臺

+0

那麼,有什麼問題嗎? MySQL已經完成了你所要求的。如果要檢索以其他方式格式化的日期,則必須使用['DATE_FORMAT()'](http://dev.mysql.com/doc/en/date-and-time-functions.html#function_date-format )在你的選擇表達式中。 – eggyal

+0

不,我想要03-08-2009 – hamchi

+2

不,這一年是非常正確的地方。 [MySQL以'YYYY-MM-DD'格式檢索並顯示'DATE'值。](http://dev.mysql.com/doc/en/datetime.html) – eggyal

回答

1

升級至答案

A šThe DATE, DATETIME, and TIMESTAMP Types下記載:

在MySQL 'YYYY-MM-DD'格式檢索和顯示DATE值。

如果你想檢索一些其他的方式格式化日期,你必須申請DATE_FORMAT()到您選擇的表達:

SELECT DATE_FORMAT(sdatum, '%d/%m/%Y') FROM project 
+0

但爲什麼我不能以不同的格式插入日期? – hamchi

+1

You * did *使用不同的格式插入數據。在內部,MySQL以其他格式存儲日期,然後在運行查詢時將其轉換爲顯示格式。您無法更改默認的日期顯示格式(無需編輯源代碼),但您可以按照上圖所示格式化查詢中的表達式。 – eggyal

相關問題