| 타입 | MS SQL | MySQL | 설명 |
|---|---|---|---|
| 날짜만 | DATE | DATE | 연월일만 저장 |
| 날짜+시간 | DATETIME, DATETIME2 | DATETIME | 날짜와 시간 정보 모두 저장 |
| 타임스탬프 | DATETIMEOFFSET | TIMESTAMP | 시간대 정보(MS SQL) 또는 자동 갱신(MySQL) |
| 시간만 | TIME | TIME | 시간 정보만 저장 |
| 작은 범위 | SMALLDATETIME | - | MS SQL 전용, 적은 용량으로 제한된 범위 |
| 연도만 | - | YEAR | MySQL 전용, 연도만 저장 |
| 구성요소 | MS SQL | MySQL |
|---|---|---|
| 연도 | YEAR(date) | YEAR(date) |
| 월 | MONTH(date) | MONTH(date) |
| 일 | DAY(date) | DAY(date) |
| 시간 | DATEPART(HOUR, date) | HOUR(date) |
| 분 | DATEPART(MINUTE, date) | MINUTE(date) |
| 초 | DATEPART(SECOND, date) | SECOND(date) |
사용 예시
MS SQL Server
DECLARE @date DATETIME = '2025-03-02 14:30:45'; SELECT YEAR(@date) AS 연도, -- 2025 MONTH(@date) AS 월, -- 3 DAY(@date) AS 일, -- 2 DATEPART(HOUR, @date) AS 시간, -- 14 DATEPART(MINUTE, @date) AS 분, -- 30 DATEPART(SECOND, @date) AS 초; -- 45MySQL
SET @date = '2025-03-02 14:30:45'; SELECT YEAR(@date) AS 연도, -- 2025 MONTH(@date) AS 월, -- 3 DAY(@date) AS 일, -- 2 HOUR(@date) AS 시간, -- 14 MINUTE(@date) AS 분, -- 30 SECOND(@date) AS 초; -- 45
| MS SQL | MySQL |
|---|---|
CONVERT(DATETIME, string) | STR_TO_DATE(string, format) |
CAST(string AS DATETIME) | CAST(string AS DATETIME) |
PARSE(string AS DATETIME) (SQL 2012+) | CONVERT(string, DATETIME) |
사용 예시
MS SQL Server
-- 문자열 → 날짜 SELECT CONVERT(DATETIME, '2025-03-02 14:30:45'); -- 2025-03-02 14:30:45 SELECT CAST('2025-03-02' AS DATE); -- 2025-03-02 SELECT PARSE('March 2, 2025' AS DATE USING 'en-US'); -- 2025-03-02MySQL
-- 문자열 → 날짜 SELECT STR_TO_DATE('2025-03-02 14:30:45', '%Y-%m-%d %H:%i:%s'); -- 2025-03-02 14:30:45 SELECT CAST('2025-03-02' AS DATE); -- 2025-03-02 SELECT CONVERT('2025-03-02', DATE); -- 2025-03-02
| MS SQL | MySQL |
|---|---|
CONVERT(VARCHAR, date, style) | DATE_FORMAT(date, format) |
FORMAT(date, format) (SQL 2012+) | CAST(date AS CHAR) |
| 스타일 코드 | 형식 | 결과 예시 |
|---|---|---|
| 23 | yyyy-MM-dd | 2025-03-02 |
| 120 | yyyy-MM-dd HH:mm:ss | 2025-03-02 14:30:45 |
| 101 | MM/dd/yyyy | 03/02/2025 |
| 103 | dd/MM/yyyy | 02/03/2025 |
| 112 | yyyyMMdd | 20250302 |
| 형식자 | 의미 | 결과 예시 |
|---|---|---|
| %Y | 4자리 연도 | 2025 |
| %m | 2자리 월 (01-12) | 03 |
| %d | 2자리 일 (01-31) | 02 |
| %H | 시간 (00-23) | 14 |
| %i | 분 (00-59) | 30 |
| %s | 초 (00-59) | 45 |
사용 예시
MS SQL Server
DECLARE @date DATETIME = '2025-03-02 14:30:45'; -- 날짜 → 문자열 SELECT CONVERT(VARCHAR, @date, 23); -- 2025-03-02 SELECT CONVERT(VARCHAR, @date, 120); -- 2025-03-02 14:30:45 SELECT CONVERT(VARCHAR, @date, 101); -- 03/02/2025 SELECT FORMAT(@date, 'yyyy-MM-dd'); -- 2025-03-02 SELECT FORMAT(@date, 'MMMM dd, yyyy'); -- March 02, 2025MySQL
SET @date = '2025-03-02 14:30:45'; -- 날짜 → 문자열 SELECT DATE_FORMAT(@date, '%Y-%m-%d'); -- 2025-03-02 SELECT DATE_FORMAT(@date, '%Y-%m-%d %H:%i:%s'); -- 2025-03-02 14:30:45 SELECT DATE_FORMAT(@date, '%d/%m/%Y'); -- 02/03/2025 SELECT DATE_FORMAT(@date, '%M %d, %Y'); -- March 02, 2025