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

MySQL에서 현재 날짜 및 시간 삽입하는 방법 (curdate vs now)

MySQL에서 날짜 값만 삽입하려면 curdate() 함수를 사용하고, 날짜와 시간 전체(datetime)를 삽입하려면 now() 함수를 사용하면 됩니다. 이 글에서는 두 함수의 차이를 예제를 통해 살펴보겠습니다.

1. curdate()로 현재 날짜만 삽입하기

먼저 datetime 타입의 컬럼을 가진 테이블을 생성합니다.

mysql> create table CurDateDemo
   -> (
   -> ArrivalDate datetime
   -> );
Query OK, 0 rows affected (0.74 sec)

이제 curdate() 함수를 사용해 현재 날짜만 삽입해 보겠습니다.

mysql> insert into CurDateDemo values(curdate());
Query OK, 1 row affected (0.15 sec)

SELECT 문으로 삽입된 데이터를 확인합니다.

mysql> select *from CurDateDemo;

실행 결과는 다음과 같습니다.

+---------------------+
| ArrivalDate         |
+---------------------+
| 2018-11-23 00:00:00 |
+---------------------+
1 row in set (0.00 sec)

curdate()는 날짜 정보만 제공하기 때문에, 시간 부분은 자동으로 00:00:00으로 채워지는 것을 확인할 수 있습니다.

2. now()로 현재 날짜와 시간 함께 삽입하기

이번에는 날짜와 시간을 모두 저장하는 예제입니다. 같은 방식으로 테이블을 생성합니다.

mysql> create table NowDemo
   -> (
   -> ArrivalDate datetime
   -> );
Query OK, 0 rows affected (0.47 sec)

now() 함수를 사용하면 날짜와 시간이 함께 삽입됩니다.

mysql> insert into NowDemo values(now());
Query OK, 1 row affected (0.16 sec)

데이터가 정상적으로 삽입되었는지 확인해 보겠습니다.

mysql> select *from NowDemo;

실행 결과는 다음과 같습니다.

+---------------------+
| ArrivalDate         |
+---------------------+
| 2018-11-23 17:31:26 |
+---------------------+
1 row in set (0.00 sec)

정리

- curdate(): 현재 날짜만 반환하며, 시간은 00:00:00으로 저장됩니다.
- now(): 현재 날짜와 시간을 모두 반환합니다.
- 참고로 now() 대신 current_timestamp()sysdate()를 사용해도 동일한 결과를 얻을 수 있습니다.