Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 현재 날짜와 특정 시간을 함께 삽입하는 쿼리 작성법

MySQL에서 현재 날짜에 원하는 특정 시간을 조합하여 DATETIME 컬럼에 삽입하려면 CONCAT() 함수를 활용할 수 있습니다. CONCAT()은 여러 문자열을 하나로 연결해 주는 함수로, CURDATE()가 반환하는 현재 날짜와 지정한 시각 문자열을 합쳐서 삽입하는 방식입니다.

기본 문법

INSERT INTO DemoTable VALUES(CONCAT(CURDATE(), '원하는시간'));

이 문법을 실제로 적용해 보겠습니다. 먼저 DATETIME 타입의 컬럼을 가진 테이블을 생성합니다.

1. 테이블 생성하기

mysql> CREATE TABLE DemoTable
    (
    ArrivalDate datetime
    );
Query OK, 0 rows affected (1.06 sec)

2. 현재 날짜와 특정 시간 삽입하기

이제 INSERT 명령으로 레코드를 추가합니다. 아래 예시에서는 현재 날짜에 오전 10시 20분 5초와 정오 12시 5분이라는 두 가지 시간을 각각 조합하여 삽입했습니다.

mysql> INSERT INTO DemoTable VALUES(CONCAT(CURDATE(), ' 10:20:05'));
Query OK, 1 row affected (0.19 sec)
mysql> INSERT INTO DemoTable VALUES(CONCAT(CURDATE(), ' 12:05:00'));
Query OK, 1 row affected (0.17 sec)

3. 결과 확인하기

SELECT 문을 사용하여 테이블의 모든 레코드를 조회합니다.

mysql> SELECT * FROM DemoTable;

출력 결과

+---------------------+
| ArrivalDate         |
+---------------------+
| 2019-06-08 10:20:05 |
| 2019-06-08 12:05:00 |
+---------------------+
2 rows in set (0.00 sec)

출력 결과를 보면 두 레코드 모두 실행 당시의 현재 날짜(2019-06-08)에 지정한 시간(10:20:05, 12:05:00)이 성공적으로 결합되어 저장된 것을 확인할 수 있습니다.

참고: 대체 방법

CONCAT() 외에도 CONCAT_WS() 함수나 TIMESTAMP() 함수를 사용하여 같은 결과를 얻을 수 있습니다. 예를 들어 TIMESTAMP(CURDATE(), '10:20:05')처럼 작성하면 날짜와 시간을 더 명확하게 결합할 수 있으므로, 상황에 맞게 선택하여 사용하시면 됩니다.