我有一列名爲today
的列,類型爲DATE
。插入日期時出錯 - 日期值不正確:
當我嘗試添加的日期格式'07-25-2012'
我收到以下錯誤:
Unable to run query:Incorrect date value: '07-25-2012' for column
我有一列名爲today
的列,類型爲DATE
。插入日期時出錯 - 日期值不正確:
當我嘗試添加的日期格式'07-25-2012'
我收到以下錯誤:
Unable to run query:Incorrect date value: '07-25-2012' for column
在MySQL接受日期類型列YMD格式的日期,你需要STR_TO_DATE
功能將日期轉換成插入YYYY-MM-DD格式在下列方式:
INSERT INTO table_name(today)
VALUES(STR_TO_DATE('07-25-2012','%m-%d-%y'));
與之相似,如果你想選擇比MySQL格式等不同格式的日期,你應該嘗試DATE_FORMAT
功能
SELECT DATE_FORMAT(today, '%m-%d-%y') from table_name;
一般MySQL使用此日期格式 'YMD H:I:S'
你需要轉換日期爲YYYY-MM-DD,以便使用默認配置將其作爲MySQL日期插入。要做到這一點
一種方法是STR_TO_DATE()
:
insert into your_table (...)
values (...,str_to_date('07-25-2012','%m-%d-%Y'),...);
這是date format:
The DATE type is used for values with a date part but no time part. MySQL retrieves and displays DATE values in 'YYYY-MM-DD' format. The supported range is '1000-01-01' to '9999-12-31'.
爲什麼你插入'07 -25-2012' 格式的MySQL時,格式爲 '2012-07-25'?其實你會得到這個錯誤,如果sql_mode是traditional/strict mode
否則它只是輸入0000-00-00並給出警告:1265 - Data truncated for column 'col1' at row 1
。
您需要使用YYYY-MM-DD格式在mysql中插入日期
格式實際上是YYYY-MM-DD – 2017-10-26 00:12:47
不,這是針對日期時間類型的。對於日期類型,默認爲Y-m-d – 2017-06-07 17:20:57