插入日期时出错 - 日期值不正确:

Ill*_*lep 21 mysql sql

我有一个名为的列today,类型是DATE.

当我尝试以格式添加日期时,'07-25-2012'我收到以下错误:

无法运行查询:列日期值不正确:'07 -25-2012'

Aka*_* KC 29

由于MySql在日期类型列中接受ymd格式的日期,因此您需要STR_TO_DATE将日期转换为yyyy-mm-dd格式,以便按以下方式插入:

INSERT INTO table_name(today) 
VALUES(STR_TO_DATE('07-25-2012','%m-%d-%y'));  
Run Code Online (Sandbox Code Playgroud)

同样,如果你想选择Mysql格式以外的其他格式的日期,你应该试试DATE_FORMAT功能

SELECT DATE_FORMAT(today, '%m-%d-%y') from table_name; 
Run Code Online (Sandbox Code Playgroud)

  • 也许它同时发生了变化,但根据 https://www.w3schools.com/sql/func_mysql_str_to_date.asp ,它需要是“%Y”才能进行 4 位年份解析。 (4认同)

Ike*_*ker 7

您需要将日期转换为 YYYY-MM-DD 才能使用默认配置将其作为 MySQL 日期插入。

一种方法是STR_TO_DATE()

insert into your_table (...)
values (...,str_to_date('07-25-2012','%m-%d-%Y'),...);
Run Code Online (Sandbox Code Playgroud)