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

MySQL에서 문자열을 24시간 날짜/시간 형식으로 변환하는 방법

MySQL에서 문자열을 24시간 날짜/시간(datetime) 형식으로 변환하려면 STR_TO_DATE() 함수를 사용하면 됩니다. 이 함수의 두 번째 매개변수로 아래와 같은 날짜/시간 형식 지정자를 전달합니다.

'%Y-%m-%d %H:%i:%s'

각 형식 지정자의 의미는 다음과 같습니다. %Y는 4자리 연도, %m은 월, %d는 일, %H는 24시간제 시간, %i는 분, %s는 초를 나타냅니다.

기본 문법

SELECT STR_TO_DATE(yourColumnName, '%Y-%m-%d %H:%i:%s') FROM yourTableName;

예제: 테이블 생성하기

먼저 예제에 사용할 테이블을 생성해 보겠습니다.

mysql> create table DemoTable (ArrivalDate varchar(200));
Query OK, 0 rows affected (0.57 sec)

데이터 삽입하기

INSERT 명령을 사용하여 테이블에 몇 개의 레코드를 삽입합니다.

mysql> insert into DemoTable values('2019-01-31 15:45:23');
Query OK, 1 row affected (0.22 sec)
mysql> insert into DemoTable values('2012-12-12 20:30:26');
Query OK, 1 row affected (0.23 sec)
mysql> insert into DemoTable values('2016-06-07 21:04:05');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('2017-02-03 19:24:32');
Query OK, 1 row affected (0.27 sec)

저장된 데이터 확인하기

SELECT 명령으로 테이블에 저장된 레코드를 조회합니다.

mysql> select *from DemoTable;

위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.

+---------------------+
| ArrivalDate         |
+---------------------+
| 2019-01-31 15:45:23 |
| 2012-12-12 20:30:26 |
| 2016-06-07 21:04:05 |
| 2017-02-03 19:24:32 |
+---------------------+
4 rows in set (0.00 sec)

STR_TO_DATE()로 24시간 형식 변환하기

이제 STR_TO_DATE() 함수를 사용하여 varchar 타입으로 저장된 문자열을 24시간 날짜/시간 형식으로 변환해 보겠습니다.

mysql> select str_to_date(ArrivalDate,'%Y-%m-%d %H:%i:%s') AS `24HourFormat` from DemoTable;

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

+---------------------+
| 24HourFormat        |
+---------------------+
| 2019-01-31 15:45:23 |
| 2012-12-12 20:30:26 |
| 2016-06-07 21:04:05 |
| 2017-02-03 19:24:32 |
+---------------------+
4 rows in set (0.00 sec)

위 예제를 보면 문자열로 저장된 값들이 DATETIME 타입 값으로 성공적으로 변환된 것을 확인할 수 있습니다. 참고로, 원본 데이터가 이미 'YYYY-MM-DD HH:MM:SS' 형태라면 출력값이 동일하게 보일 수 있지만, 실제로는 DATETIME 타입으로 변환되었기 때문에 이후 DATE_FORMAT(), DATEDIFF() 등 날짜 관련 함수를 자유롭게 활용할 수 있다는 점이 큰 장점입니다.