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

DATE 문자열을 MySQL DATETIME 필드의 문자열과 비교하시겠습니까?

<시간/>

DATE 문자열을 MySQL의 DATE() 함수를 사용하여 DATETIME 필드의 문자열과 비교할 수 있습니다. 구문은 다음과 같습니다. -

select *from yourTableName where DATE(yourColumnName) = ’anyDateString’;

위의 구문을 이해하기 위해 테이블을 만들고 테이블에 날짜/시간 값을 설정해 보겠습니다. 테이블 생성 쿼리 -

mysql> create table DateTimeDemo
   −> (
   −> ArrivalTime datetime
   −> );
Query OK, 0 rows affected (0.61 sec)

insert 명령을 사용하여 테이블에 일부 레코드를 삽입해 보겠습니다. 다음은 레코드를 삽입하는 쿼리입니다 -

mysql> insert into DateTimeDemo values(now());
Query OK, 1 row affected (0.11 sec)

mysql> insert into DateTimeDemo values(date_add(now(),interval 2 year));
Query OK, 1 row affected (0.47 sec)

mysql> insert into DateTimeDemo values(date_add(now(),interval 1 year));
Query OK, 1 row affected (0.19 sec)

mysql> insert into DateTimeDemo values(date_add(now(),interval 4 year));
Query OK, 1 row affected (0.13 sec)

mysql> insert into DateTimeDemo values(date_add(now(),interval -2 year));
Query OK, 1 row affected (0.17 sec)

mysql> insert into DateTimeDemo values(date_add(now(),interval -1 year));
Query OK, 1 row affected (0.17 sec)

select 문을 사용하여 모든 레코드를 표시합니다. 테이블의 모든 레코드를 표시하는 쿼리 -

mysql> select *from DateTimeDemo;

다음은 출력입니다 -

+---------------------+
| ArrivalTime         |
+---------------------+
| 2018-12-06 10:12:45 |
| 2020-12-06 10:13:10 |
| 2019-12-06 10:13:21 |
| 2022-12-06 10:13:27 |
| 2016-12-06 10:13:42 |
| 2017-12-06 10:13:50 |
+---------------------+
6 rows in set (0.00 sec)

이제 문자열과 날짜 시간 필드를 비교하기 위해 위에서 논의한 구문을 구현합니다. 쿼리는 다음과 같습니다 -

mysql> select *from DateTimeDemo where date(ArrivalTime) = '2022-12-06';

다음은 출력입니다 -

+---------------------+
| ArrivalTime         |
+---------------------+
| 2022-12-06 10:13:27 |
+---------------------+
1 row in set (0.14 sec)