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

날짜 및 시간 열을 MySQL의 타임스탬프로 결합하시겠습니까?

<시간/>

날짜 및 시간 열을 타임스탬프로 결합하려면 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)