2012-07-25 61 views

回答

20

在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; 
1

一般MySQL使用此日期格式 'YMD H:I:S'

+1

不,这是针对日期时间类型的。对于日期类型,默认为Y-m-d – 2017-06-07 17:20:57

1

你需要转换日期为YYYY-MM-DD,以便使用默认配置将其作为MySQL日期插入。要做到这一点

一种方法是STR_TO_DATE()

insert into your_table (...) 
values (...,str_to_date('07-25-2012','%m-%d-%Y'),...); 
1

这是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_modetraditional/strict mode否则它只是输入0000-00-00并给出警告:1265 - Data truncated for column 'col1' at row 1

0

您需要使用YYYY-MM-DD格式在mysql中插入日期

+0

格式实际上是YYYY-MM-DD – 2017-10-26 00:12:47