ホームページ  >  記事  >  データベース  >  MySQL で 1970 年より前の日付を処理できますか?

MySQL で 1970 年より前の日付を処理できますか?

王林
王林転載
2023-08-31 09:25:021407ブラウズ

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

日付には 1000 から 9999 までの値が格納されるため、1970 年より前の日付を処理するには日付型を使用する必要があります。日付型は、時間の目的ではなく、日付部分のみを処理する必要がある場合に使用できます。

MySQL は次の形式でデータを提供します。形式は次のとおりです -

‘YYYY-MM-DD’

開始日の範囲は次のとおりです -

1000-01-01

終了日の範囲は次のとおりです -

9999-12-31

上で説明した内容を理解するには, 2つのテーブルを作成しましょう。最初のテーブルを作成するクエリは次のとおりです。 -

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

これで、insert コマンドを使用してテーブルにレコードを挿入できるようになります。 「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 年より前の日付を処理できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。