MySQL에서 Date로 캐스트하는 것과 date() 함수 사이에는 차이가 없습니다.
cast() 및 date()의 구문은 다음과 같습니다. -
cast(yourDateTimeColumnName as Date)date(yourDateTimeColumnName)
두 함수 모두 내부적으로 Item_date_typecast를 호출합니다. 두 기능을 모두 확인하기 위해 테이블을 생성해 보겠습니다. 테이블을 생성하는 쿼리는 다음과 같습니다 -
mysql> Create table CastAsDateDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> ArrivalTime datetime, -> PRIMARY KEY(Id) -> );쿼리 OK, 영향을 받는 행 0개(0.71초)
이제 insert 명령을 사용하여 테이블에 일부 레코드를 삽입할 수 있습니다. 쿼리는 다음과 같습니다 -
mysql> insert into CastAsDateDemo(ArrivalTime) values('2014-1-13 13 −45 −46');Query OK, 1행 영향(0.16초)mysql> CastAsDateDemo(ArrivalTime) values('2016- 4-11 10 −30 −31');쿼리 OK, 1행 영향(0.48초)mysql> insert into CastAsDateDemo(ArrivalTime) values('2019-1-9 19 −17 −49');쿼리 OK, 1행 영향을 받은(0.13초)mysql> CastAsDateDemo(ArrivalTime) values(date_add(now(),interval 2 day))에 삽입; 쿼리 확인, 영향을 받는 행 1개(0.15초)
select 문을 사용하여 테이블의 모든 레코드 표시 -
mysql> 선택 *CastAsDateDemo;
다음은 출력입니다 -
+----+----------------------+| 아이디 | 도착시간 |+----+----------------------+| 1 |2014-01-13 13 −45 −46 || 2 |2016-04-11 10 −30 −31 || 3 |2019-01-09 19 −17 −49 || 4 |2019-01-11 19 −17 −59 |+----+------------------+4행 세트(0.00초)사전>다음은 cast() −
를 사용하여 날짜로 캐스팅하는 쿼리입니다.mysql> CastAsDateDemo에서 only_Date로 캐스트(ArrivalTime as Date) 선택;다음은 출력입니다 -
+------------+| only_날짜 |+------------+| 2014-01-13 || 2016-04-11 || 2019-01-09 || 2019-01-11 |+------------+4행 세트(0.00초)다음은 date()를 사용하여 날짜로 캐스팅하는 쿼리입니다. 쿼리는 다음과 같습니다 -
mysql> CastAsDateDemo에서 only_Date로 날짜(ArrivalTime) 선택;다음은 출력입니다 -
+------------+| only_날짜 |+------------+| 2014-01-13 || 2016-04-11 || 2019-01-09 || 2019-01-11 |+------------+4행 세트(0.00초)