Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL에서 1970년 이전의 날짜로 작업하시겠습니까?

<시간/>

날짜는 1000부터 9999까지의 값을 저장하기 때문에 1970년 이전의 날짜로 작업하려면 날짜 형식을 사용해야 합니다. 날짜 형식은 시간 목적이 아닌 날짜 부분만 작업해야 할 때 사용할 수 있습니다.

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)

이제 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)