MySQL에서 GET_FORMAT() 함수는 DATE_FORMAT() 및 STR_TO_DATE() 함수와 결합하여 사용하면 매우 유용합니다. 이 조합을 활용하면 날짜와 시간 데이터를 국가별 표준 형식으로 손쉽게 변환하거나 해석할 수 있습니다.
DATE_FORMAT()과 결합하기
GET_FORMAT() 함수를 DATE_FORMAT() 함수와 결합하면, GET_FORMAT()이 반환하는 형식 문자열을 그대로 적용하여 특정 날짜, 시간 또는 datetime 값을 원하는 지역 형식으로 출력할 수 있습니다.
mysql> Select DATE_FORMAT('2017-10-22',GET_FORMAT(date,'USA'))AS 'DATE IN USA FORMAT';
+-------------------+
| DATE IN USA FORMAT |
+-------------------+
| 10.22.2017 |
+-------------------+
1 row in set (0.00 sec)위 쿼리는 주어진 날짜 '2017-10-22'를 미국(USA) 표준 형식인 '10.22.2017'로 변환하여 반환합니다.
뿐만 아니라 테이블에 저장된 날짜 값도 다음과 같이 원하는 형식으로 조회할 수 있습니다.
mysql> Select * from date_testing1; +-------+------------+ | Name | Date | +-------+------------+ | Ram | 2017-05-03 | | Shyam | 2003-10-31 | +-------+------------+ 2 rows in set (0.07 sec) mysql> Select Name, Date, DATE_FORMAT(date,GET_FORMAT(date,'USA'))AS 'DATE IN US FORMAT'from date_testing1 Where Name='Ram'; +------+------------+-------------------+ | Name | Date | DATE IN US FORMAT | +------+------------+-------------------+ | Ram | 2017-05-03 | 05.03.2017 | +------+------------+-------------------+ 1 row in set (0.00 sec)
위 쿼리는 date_testing1 테이블에서 이름이 'Ram'인 행을 찾아 해당 날짜를 미국 형식 '05.03.2017'으로 변환하여 반환합니다.
STR_TO_DATE()와 결합하기
GET_FORMAT() 함수는 DATE_FORMAT() 함수와 함께 사용되는 것과 동일한 방식으로 STR_TO_DATE() 함수와도 결합할 수 있습니다. 이 경우 GET_FORMAT()이 반환하는 형식을 기준으로 문자열 형태의 날짜를 해석하여 표준 날짜 값으로 변환합니다.
mysql> Select STR_TO_DATE('22.10.2017',GET_FORMAT(DATE,'EUR'))AS 'EUROPEAN FORMAT';
+-----------------+
| EUROPEAN FORMAT |
+-----------------+
| 2017-10-22 |
+-----------------+
1 row in set (0.00 sec)위 쿼리는 유럽(EUR) 형식으로 작성된 날짜 문자열 '22.10.2017'을 표준 날짜 형식인 '2017-10-22'로 변환하여 반환합니다. 이처럼 GET_FORMAT() 함수를 활용하면 지역별로 상이한 날짜 표기법을 일관성 있게 처리할 수 있습니다.