在 MySQL 中处理 1970 年之前的日期?

2023年 8月 31日 40.4k 0

在 MySQL 中处理 1970 年之前的日期?

您需要使用日期类型来处理 1970 年之前的日期,因为日期存储的值是从 1000 到 9999。当您仅需要处理日期部分而不是出于时间目的时,可以使用日期类型。

MySQL 给出以下格式的数据。格式如下 -

‘YYYY-MM-DD’

登录后复制

开始日期范围如下 -

1000-01-01

登录后复制

结束日期范围如下 -

9999-12-31

登录后复制

为了理解我们上面讨论的内容,让我们创建两个表。创建第一个表的查询如下 -

mysql> create table DateDemo
-> (
-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> DateBefore1970 date
-> );
Query OK, 0 rows affected (0.71 sec)

登录后复制

现在您可以使用插入命令在表中插入一些记录。每当您使用超出结束日期“9999-12-31”时,您都会得到一个日期“0000-00-00”。

让我们插入一条大于“9999-12-31”的记录'。查询如下 -

mysql> insert into DateDemo(DateBefore1970) values('1000-10-20');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DateDemo(DateBefore1970) values('1940-12-31');
Query OK, 1 row affected (0.20 sec)
mysql> insert into DateDemo(DateBefore1970) values('1500-01-25');
Query OK, 1 row affected (0.10 sec)
mysql> insert into DateDemo(DateBefore1970) values('1900-04-14');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DateDemo(DateBefore1970) values('1710-11-15');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DateDemo(DateBefore1970) values('9999-12-31');
Query OK, 1 row affected (0.22 sec)
mysql> insert into DateDemo(DateBefore1970) values('10000-12-31');
Query OK, 1 row affected, 1 warning (0.11 sec)

登录后复制

现在您可以使用 select 语句显示表中的所有记录。查询如下 -

mysql> select *from DateDemo;

登录后复制

以下是输出 -

+----+----------------+
| Id | DateBefore1970 |
+----+----------------+
| 1 | 1000-10-20 |
| 2 | 1940-12-31 |
| 3 | 1500-01-25 |
| 4 | 1900-04-14 |
| 5 | 1710-11-15 |
| 6 | 9999-12-31 |
| 7 | 0000-00-00 |
+----+----------------+
7 rows in set (0.00 sec)

登录后复制

以上就是在 MySQL 中处理 1970 年之前的日期?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论