DB

[DB] MySQL, MSSQL, Oracle 날짜 함수 비교표

shaprimanDev 2025. 3. 10. 21:41
반응형
기능 MySQL MSSQL Oracle
현재 날짜 및 시간 NOW(), CURRENT_TIMESTAMP() GETDATE(), CURRENT_TIMESTAMP SYSDATE, CURRENT_DATE
현재 날짜만 CURDATE(), CURRENT_DATE() CONVERT(date, GETDATE()) TRUNC(SYSDATE)
현재 시간만 CURTIME(), CURRENT_TIME() CONVERT(time, GETDATE()) TO_CHAR(SYSDATE, 'HH24:MI:SS')
날짜 형식 변환 DATE_FORMAT(date, format) CONVERT(varchar, date, format_code) TO_CHAR(date, format)
문자열을 날짜로 변환 STR_TO_DATE(string, format) CONVERT(datetime, string, format_code) TO_DATE(string, format)
날짜 더하기 DATE_ADD(date, INTERVAL value unit) DATEADD(unit, value, date) date + value (일 단위)
ADD_MONTHS(date, value)
날짜 빼기 DATE_SUB(date, INTERVAL value unit) DATEADD(unit, -value, date) date - value (일 단위)
ADD_MONTHS(date, -value)
날짜 간 차이 DATEDIFF(date1, date2) (일 단위) DATEDIFF(unit, date1, date2) date1 - date2 (일 단위)
날짜 추출 (연도) YEAR(date) YEAR(date), DATEPART(year, date) EXTRACT(YEAR FROM date)
날짜 추출 (월) MONTH(date) MONTH(date), DATEPART(month, date) EXTRACT(MONTH FROM date)
날짜 추출 (일) DAY(date) DAY(date), DATEPART(day, date) EXTRACT(DAY FROM date)
날짜 추출 (시간) HOUR(date) DATEPART(hour, date) EXTRACT(HOUR FROM date)
날짜의 마지막 일 LAST_DAY(date) EOMONTH(date) LAST_DAY(date)
요일 추출 DAYNAME(date), DAYOFWEEK(date) DATENAME(weekday, date) TO_CHAR(date, 'Day')
날짜 반올림 - - ROUND(date, format)
날짜 자르기 DATE(datetime) CAST(datetime AS DATE) TRUNC(date, format)
분기 추출 QUARTER(date) DATEPART(quarter, date) TO_CHAR(date, 'Q')
해당 연도의 몇 번째 날 DAYOFYEAR(date) DATEPART(dayofyear, date) TO_CHAR(date, 'DDD')
해당 주의 몇 번째 날 DAYOFWEEK(date) DATEPART(weekday, date) TO_CHAR(date, 'D')
타임존 변환 CONVERT_TZ(date, from_tz, to_tz) - FROM_TZ, NEW_TIME

형식 지정 예시

MySQL 날짜 형식

SELECT DATE_FORMAT('2023-01-15', '%Y년 %m월 %d일'); -- 2023년 01월 15일

MSSQL 날짜 형식

SELECT CONVERT(varchar, '2023-01-15', 111); -- 2023/01/15
SELECT FORMAT(CAST('2023-01-15' AS datetime), 'yyyy년 MM월 dd일'); -- SQL Server 2012 이상

Oracle 날짜 형식

SELECT TO_CHAR(TO_DATE('2023-01-15', 'YYYY-MM-DD'), 'YYYY"년" MM"월" DD"일"') FROM dual; -- 2023년 01월 15일
반응형