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

MySQL DATE 데이터 타입에 시간 값을 저장할 수 없는 이유는 무엇일까?

MySQL의 DATE 데이터 타입은 기본적으로 YYYY-MM-DD 형식을 사용합니다. 이 형식에는 시간(시, 분, 초)을 저장할 공간이 없기 때문에, DATE 타입에는 시간 값을 함께 사용할 수 없습니다.

DATE 함수의 동작 예시

아래 예제를 보면, 날짜와 함께 시간 정보를 전달하더라도 MySQL은 오직 날짜 값만 반환하는 것을 확인할 수 있습니다.

mysql> select DATE("2017-09-25 09:34:21");
+-----------------------------------+
| DATE("2017-09-25 09:34:21")       |
+-----------------------------------+
| 2017-09-25                        |
+-----------------------------------+
1 row in set (0.04 sec)

위 쿼리에서 입력값에 09:34:21이라는 시간이 포함되어 있지만, 결과에는 2017-09-25라는 날짜 부분만 남게 됩니다.

시간까지 저장하려면?

날짜와 시간을 모두 저장해야 한다면 DATETIME 또는 TIMESTAMP 데이터 타입을 사용해야 합니다. 이 두 타입은 YYYY-MM-DD HH:MM:SS 형식으로 날짜와 시간을 함께 다룰 수 있어, 정확한 시점 정보가 필요한 경우에 적합합니다.