728x90
사용자 화면에서 날짜 데이터를 기본 형식이 아닌 다른 형식으로 요청하는 경우가 있습니다.
사용자가 원하는 형식으로 표시할 때 datetime 데이터 타입을 varchar 로 변환하게 됩니다. 문자열로 변환하기 때문에 다양하게 표시할 수 있습니다. 그 중에 자주 사용하는 형식을 CONVERT 함수와 FORMAT 함수 두 가지를 사용하여 표현하였습니다.
CONVERT
-- 2022-12-28
SELECT CONVERT(char(10), datetimedata, 23)
-- 2022-12-28 15:13
SELECT CONVERT(char(10), datetimedata, 23) + ' ' + SUBSTRING(CONVERT(char(8), datetimedata, 8), 0, 6)
-- 2022.12.28
SELECT CONVERT(char(10), datetimedata, 102)
-- 2022-12-28 13:14:15.678
SELECT CONVERT(char(23), datetimedata, 21)
-- 15:19
SELECT SUBSTRING(CONVERT(char(8),datetimedata, 24), 0, 6)
-- Dec. 28. Wednesday
SELECT CONCAT(FORMAT(datetimedata, 'MMM', 'en-us'), '. ', DATENAME(DD,datetimedata), '. ', FORMAT(datetimedata, 'dddd', 'en-us'))
-- 2022년 12월 28일 수요일 15시 21분
SELECT CONVERT(varchar(4), YEAR(datetimedata)) + '년 ' + CONVERT(varchar(2), MONTH(datetimedata)) + '월 ' + CONVERT(varchar(2), DAY(datetimedata)) + '일 ' + DATENAME(DW, datetimedata) + ' ' + CONVERT(varchar(2), DATEPART(HOUR, datetimedata)) + '시 ' + CONVERT(varchar(2), DATEPART(MINUTE, datetimedata)) + '분'
FORMAT
FORMAT함수를 사용할 때 포맷형식을 알고 있으면 더 자유롭게 형식을 만들 수 있습니다.
더보기
dd : 01-31 일자를 표현
dddd : 요일을 표현
MM : 01-12 월을 표현
MMM : 1-12 월을 표현
MMMM : 1-12 에서 '월' 글자를 포함해서 표현
yy : 연도를 2자리로 표현 ex) 2022년 -> 22
yyyy -연도를 4자리로 표현
hh : 시간을 12시간제로 표현 ex) 15시 -> 03시
HH : 시간을 24시간제로 표현 00-23
mm : 분을 00-59로 표현
ss : 초를 00-59로 표현
tt : 오전/오후를 표현
en-us : 언어 설정
-- 2022-12-28
SELECT FORMAT(datetimedata, 'yyyy-MM-dd')
-- 2022-12-28 15:27
SELECT FORMAT(datetimedata, 'yyyy-MM-dd HH:mm')
-- 2022-12-28 03:27
SELECT FORMAT(datetimedata, 'yyyy-MM-dd hh:mm')
-- 2022-12-28 오후
SELECT FORMAT(datetimedata, 'yyyy-MM-dd tt')
-- 2022.12.28
SELECT FORMAT(datetimedata, 'yyyy.MM.dd')
-- 15:29
SELECT FORMAT(datetimedata, 'HH:mm')
-- Dec. 28. Wednesday
SELECT CONCAT(SUBSTRING(FORMAT(datetimedata, 'MMMM.','en-us'), 0, 3), SPACE(1), FORMAT(datetimedata, 'dd. dddd','en-us'))
-- 2022년 12월 28일 수요일 15시 34분
SELECT FORMAT(datetimedata, 'yyyy년 MM월 dd일 dddd HH시 mm분')
참고사이트
공식 : https://learn.microsoft.com/ko-kr/sql/t-sql/functions/format-transact-sql?view=sql-server-ver16
728x90
'개발 > SQL Server' 카테고리의 다른 글
데이터베이스 개체 확장 속성 추가/조회/수정하기 (2) | 2023.10.28 |
---|---|
[SSMS] 쿼리 및 저장 프로시저 단축키 설정하여 사용하기 (0) | 2023.10.17 |
트랜잭션 로그로 원하는 시점에 데이터 복구하기 (0) | 2023.02.20 |
백업 된 DB 파일 자동 삭제 설정하기 (0) | 2023.01.27 |
DATEPART, DATEADD, EOMONTH 함수를 사용하여 월간 집계 UPSERT용 SP 만들기 (0) | 2023.01.24 |