MySQL 如何在表中插入正确的日期时间值

MySQL 如何在表中插入正确的日期时间值

为避免不正确的日期时间值错误,您可以使用STR_TO_DATE()方法。

我们知道日期时间格式为YYYY-MM-DD,如果不按照相同格式插入,会生成错误。

让我们看看实际上是什么导致了这个错误。为此,让我们创建一个新表。创建表的查询如下所示:

mysql> create table CorrectDatetimeDemo
    -> (
    -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> ArrivalTime datetime
    -> ); 
Query OK, 0 rows affected (0.63 sec)
Mysql

当我们尝试在不正确的日期时间格式中包含日期时,就会发生这种情况。

mysql> insert into CorrectDatetimeDemo(ArrivalTime) values('18/02/2019 11:15:45');
ERROR 1292 (22007): Incorrect datetime value: '18/02/2019 11:15:45' for column 'ArrivalTime' at row 1
Mysql

为避免上述错误,您可以使用STR_TO_DATE()。

语法如下:

INSERT INTO yourTableName(yourDateTimeColumnName) VALUES (STR_TO_DATE('yourDateTimeValue','%d/%m/%Y %H:%i:%s'));
Mysql

现在,让我们使用如上所示的正确格式再次插入日期时间。

查询如下:

mysql> insert into CorrectDatetimeDemo(ArrivalTime) values(STR_TO_DATE('18/02/2019 11:15:45','%d/%m/%Y %H:%i:%s'));
Query OK, 1 row affected (0.21 sec)

mysql> insert into CorrectDatetimeDemo(ArrivalTime) values(STR_TO_DATE('15/01/2017 10:10:15','%d/%m/%Y %H:%i:%s'));
Query OK, 1 row affected (0.16 sec)

mysql> insert into CorrectDatetimeDemo(ArrivalTime) values(STR_TO_DATE('12/04/2016 15:30:35','%d/%m/%Y %H:%i:%s'));
Query OK, 1 row affected (0.20 sec)
Mysql

使用select语句显示表中的所有记录

查询如下:

mysql> select *from CorrectDatetimeDemo;
Mysql

以下是输出结果:

+----+---------------------+
| Id | ArrivalTime         |
+----+---------------------+
|  1 | 2019-02-18 11:15:45 |
|  2 | 2017-01-15 10:10:15 |
|  3 | 2016-04-12 15:30:35 |
+----+---------------------+
3 rows in set (0.00 sec)
Mysql

阅读更多:MySQL 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程