반응형
기능 | 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일
반응형