데이터베이스를 사용하다면 날짜를 문자열로 또는 문자를 날짜로 바꿀 때가 있다
그럴 때 사용하는 내용이다
먼저 오라클에서 사용하는 함수이다
숫자 또는 날짜 데이터를 문자형으로 변경하는 TO_CHAR(데이터, '출력 형식')
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD') - 오늘 날짜의 출력 형식을 결정해서 문자로 리턴
SELECT TO_CHAR(100000, '00000000')
- 결과 : 00100000 자릿수를 8 자리로 고정한 형태임 여러 형식을 설정할 수 있다 자세한 내용은 따로 검색해보기를
다음은 문자를 날짜형으로 변환하는 TO_DATE(데이터, '날짜 형식')
SELECT TO_DATE('20080101', 'YYYY/MM/DD') - 20080101이라는 문자를 2008/01/01의 형태의 날짜로 리턴
MYSQL에서 사용하는 함수들을 보자
날짜를 문자열로 변환할 때는 DATE FORMAT(날짜, 출력 형식)을 사용한다
SELECT DATE_FORMAT('2019-09-16 20:23:12', '%Y/%M/%D') - 2019/09/16 출력
느낌은 쉽게 이해할 거라 생각한다 오라클과는 출력 형식이 약간 다른데 자세한 형식들은 인터넷을 참고하자
문자열을 날짜로 변환할 때는 STR_TO_DATE(문자, 출력 형식) 함수를 사용한다
SELECT STR_TO_DATE('20080101', '%Y-%M-%D') - 20080101이라는 문자를 2008-01-01의 형태의 날짜로 리턴
마지막으로 MSSQL에서 사용하는 아이들이다
날짜를 문자로 바꿀 때는 CONVERT(포맷(길이), 날짜, 변환 형식)를 사용한다
SELECT CONVERT(VARCHAR, GETDATE(), 120) - 결과 : 2019-09-15 15:30:11
120은 YYYY-MM-DD HH24:MI:SS 형식이다 다른 숫자들은 다른 형식을 의미하는데 검색하여 활용하자
문자를 날짜로 바꿀 때는 CONVERT(날짜 형식, 문자)를 사용한다
SELECT CONVERT(DATE, '2008-01-01') - 2008-01-01 문자가 날짜로 변경된다
SELECT CONVERT(DATETIME, '2008-01-01 15:14:13') - 2008-01-01 15:14:13 문자가 날짜/시간으로 변경된다