DATABASE STUDY
[MariaDB] 날짜형을 문자형으로, 문자형을 날짜형으로 변환하기
ebson
2023. 2. 21. 11:07
데이터베이스의 날짜형 데이터를 원하는 포맷의 문자열로 조회하는 것은 흔한 요구사항이다.
MariaDB의 내장함수를 사용해 datetime 형 데이터를 vatchar(n) 형 데이터로 변환해 조회할 수 있다.
날짜형을 문자형으로
SELECT date_format(now() , '%Y-%m-%d %H:%i:%S') datetime_to_varchar
=> 2023-02-21 10:55:08
문자형을 날짜형으로
SELECT str_to_date('2022-07-13 14:49:46', '%Y-%m-%d %H:%i:%S') varchar_to_datetime
, str_to_date('20220713 14:49:46', '%Y-%m-%d %H:%i:%S') varchar_to_datetime
, str_to_date('July 13 2022', '%M %d %Y %H:%i:%S') varchar_to_datetime
, str_to_date('July 13 2022', '%M-%d-%Y %H:%i:%S') varchar_to_datetime
=> 2022-07-13 14:49:46 | [NULL] | 2022-07-13 00:00:00 | [NULL]
* 주의 : 문자형과 날짜형의 format을 맞추지 않으면 NULL 반환함
MariaDB의 date_format(날짜형, [format]) 함수를 사용하면 날짜형을 문자형으로, str_to_date(문자형, [format]) 함수를 사용하면 문자형을 날짜형으로 조회할 수 있다. 주의할 점은 str_to_date(문자형, [format])의 문자형과 날짜형의 format을 맞춰야 한다는 것이다.