我有一个名为today
的列,类型是DATE
。
当我尝试以格式'07-25-2012'
添加日期时,我会收到以下错误信息:
无法运行查询:列的日期值不正确:'07-25-2012'
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;
STR_TO_DATE()
。insert into your_table (...)
values (...,str_to_date('07-25-2012','%m-%d-%Y'),...);
在mysql中插入日期时,您需要使用YYYY-MM-DD格式。
CREATE TABLE Employee (birth_date DATE);
INSERT INTO Employee VALUES('1967-11-17');
对我有效的方法是:
更改日期DD-MM-YYYY格式:
E1001,John,Thomas,123456,01/09/1976,M
转换为YYYY-MM-DD格式:
E1001,John,Thomas,123456,1976/01/09,M
它运行得非常流畅。
请确保您添加单引号或双引号。我注意到您必须添加""
,这样MySQL才会将其作为字符串。
INSERT INTO table_name values
("2001-11-09");
INSERT INTO table_name(today)
VALUES(STR_TO_DATE('07-25-2012','%m-%d-%Y'));
STR_TO_DATE()
函数来完成这个任务,该函数需要两个参数:第一个参数是作为字符串表示的日期,第二个参数是你传递第一个参数时使用的日期格式。
%Y
。 - Andreas