MSSQL Function
이 글에서는 MSSQL에서 자주 사용하는 함수들을 정리한다.
🕒 날짜 변환 함수
CONVERT 함수는 데이터 형식을 다른 형식으로 바꿀 때 사용한다.
CONVERT(VARCHAR, P.PRCS_END_DT, 112) -- 날짜 형식으로 변환
| style 값 | 결과 형식 |
|---|---|
| 1 | MM/DD/YY 또는 DD/MM/YY |
| 3 | DD/MM/YY 또는 DD/MM/YYYY |
| 4 | DD.MM.YY 또는 DD.MM.YYYY |
| 5 | DD-MM-YY 또는 DD-MM-YYYY |
| 10 | MM-DD-YY 또는 MM-DD-YYYY |
| 11 | MM/DD/YY 또는 MM/DD/YYYY |
| 19 | YYYY.MM.DD HH:MI:SS |
| 20 | YYYY-MM-DD HH:MI:SS |
| 21 | YYYY.MM.DD HH:MI:SS |
| 112 | YYYYMMDD |
| 120 | YYYY-MM-DD HH:MI:SS (ISO 8601 형식) |
| 126 | YYYY-MM-DDTHH:MI:SS (ISO 8601 형식) |
| 130 | DD Month YYYY HH:MI:SS (영어 월 이름) |
문자열을 날짜나 다른 타입으로 바꿀 때는 CAST를 사용한다.
CAST(#{endDate, jdbcType=VARCHAR} AS DATE)
날짜에 값을 더할 때는 DATEADD를 사용한다.
DATEADD(day, 3, GETDATE())
🧵 문자열 결합 함수
여러 행의 값을 하나의 문자열로 합칠 때는 STUFF와 FOR XML PATH 조합을 자주 사용한다.
SELECT a.birthday,
STUFF((SELECT ',' + userId
FROM [user]
WHERE birthday = a.birthday
FOR XML PATH('')), 1, 1, '') AS userIds
FROM [user] AS a
GROUP BY a.birthday
🧩 정리
CONVERT는 형식 변환에 사용한다.CAST는 명시적인 타입 변환에 사용한다.DATEADD는 날짜 계산에 사용한다.STUFF는 문자열 조합에 활용할 수 있다.
댓글남기기