날짜 및 시간 열을 타임스탬프로 결합하려면 concat()과 함께 cast() 함수를 사용할 수 있습니다.
구문은 다음과 같습니다 -
select cast(concat(yourDateColumnName, ' ', yourTimeColumnName) as datetime) as anyVariableName from yourTableName;
위의 개념에서 날짜와 시간이 문자열 형식일 때 cast()를 사용합니다. cast() 함수는 datetime에만 사용할 수 있습니다. 위의 구문을 이해하기 위해 테이블을 생성해 보겠습니다.
테이블을 생성하는 쿼리는 다음과 같습니다 -
mysql> create table DateAndTimeToTimestamp −> ( −> Duedate date, −> DueTime time −> ); Query OK, 0 rows affected (0.51 sec)
insert 명령을 사용하여 테이블에 레코드를 삽입합니다. 쿼리는 다음과 같습니다 -
mysql> insert into DateAndTimeToTimestamp values(date_add(curdate(),interval 2 day),'10:30:02'); Query OK, 1 row affected (0.34 sec) mysql> insert into DateAndTimeToTimestamp values(date_add(curdate(),interval -2 day),'12:20:45'); Query OK, 1 row affected (0.17 sec) mysql> insert into DateAndTimeToTimestamp values(date_add(curdate(),interval 1 day),'01:32:42'); Query OK, 1 row affected (0.21 sec) mysql> insert into DateAndTimeToTimestamp values(date_add(curdate(),interval -1 day),'14:25:58'); Query OK, 1 row affected (0.30 sec)
select 문을 사용하여 테이블의 모든 레코드를 표시합니다. 쿼리는 다음과 같습니다 -
mysql> select *from DateAndTimeToTimestamp;
다음은 출력입니다 -
+------------+----------+ | Duedate | DueTime | +------------+----------+ | 2018-12-16 | 10:30:02 | | 2018-12-12 | 12:20:45 | | 2018-12-15 | 01:32:42 | | 2018-12-13 | 14:25:58 | +------------+----------+ 4 rows in set (0.00 sec)
다음은 날짜 및 시간 열을 타임스탬프로 결합하는 쿼리입니다 -
mysql> select concat(Duedate, ' ', DueTime) as timestampDemo from DateAndTimeToTimestamp;
다음은 출력입니다 -
+---------------------+ | timestampDemo | +---------------------+ | 2018-12-16 10:30:02 | | 2018-12-12 12:20:45 | | 2018-12-15 01:32:42 | | 2018-12-13 14:25:58 | +---------------------+ 4 rows in set (0.00 sec)