[MSSQL] FORMAT 함수 사용법 (TO_CHAR, 날짜, 소수점)
- 데이터베이스/MSSQL
- 2021. 2. 21.
SQL Server 2012 버전부터 FORMAT 함수가 추가되었다. 오라클에서는 TO_CHAR 함수를 사용하여 날짜 형식을 문자열로 쉽게 변환을 할 수 있고, MSSQL에서는 CONVER 함수를 사용하여 변환이 가능하지만 조금 아쉬운 면이 있었다.
FORMAT 함수를 사용하여 오라클의 TO_CHAR 함수에서 가능했던 3가지 사용법을 소개한다.
|
날짜 문자열 변환
SELECT FORMAT(GETDATE(), 'yyyy-MM-dd') AS result1
, FORMAT(GETDATE(), 'yyyy-MM-dd HH:mm:ss') AS result2
오라클에서 날짜를 문자열로 변환하던 비슷한 형식으로 사용이 가능하다.
SELECT FORMAT(GETDATE(), 'yyyyMMdd') AS result1
, FORMAT(GETDATE(), 'HH:mm:ss') AS result2
, FORMAT(GETDATE(), 'hh:mm:ss tt') AS result3
, FORMAT(GETDATE(), 't') AS result4
다양한 날짜 변환 형식이 사용 가능하다.
수치값 천단위 콤마 찍기
SELECT FORMAT(123456, '###,###') AS result1
, FORMAT(123456789, '###,###') AS result2
, FORMAT(123456789, '#,#') AS result2
수치값에 #,# 형식을 사용하면 천단위로 콤마(쉼표)를 표시할 수 있다.
수치값 소수점 표시
SELECT FORMAT(12345.6, '0.00') AS result1
, FORMAT(1234.56, '0.00') AS result2
, FORMAT(123.456, '0.00') AS result3
소수점 이하에 "0"의 개수만큼 소수점을 표시한다.
result1 : 소수점 이하가 1자리지만 형식이 두 자리까지 표시했으므로 빈값은 "0"으로 표시한다.
result3 : 소수점 이하를 2자리 까지 표시하도록 하면 반올림하여 소수점을 표시한다.
SELECT FORMAT(1234.56, '0.0') AS result1
, FORMAT(1234.56, '0.00') AS result2
, FORMAT(1234.56, '0.000') AS result3