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

MySQL을 DATE로 캐스트하시겠습니까?

<시간/>

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초)