[MSSQL] FORMAT 함수 사용법 (TO_CHAR, 날짜, 소수점)

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

 

 

gent.tistory.com/349

 

[MSSQL] 소수점 이하 0 제거 방법 (FORMAT 함수, FM)

SQL Server 2012 버전부터 FORMAT() 함수를 사용하여 소수점의 형식을 변경할 수 있는 기능이 추가 되었다. 오라클 SQL의 TO_CHAR 함수와 FM을 사용하는 방법과 비슷하다. SQL Server 2012 이전 버전에서는 DECIMA

gent.tistory.com

gent.tistory.com/35

 

[MS-SQL] 날짜 형식(포맷) 변경 방법 (CONVERT, TO_CHAR)

SQL Server 2008, SQL Server 2012 날짜(Date) 형식의 값을 특정 문자(String) 포맷(Format)으로 바꾸는 방법을 소개한다. 아래는 자주 사용하는 YYYY-MM-DD HH24:MI:SS 으로 변경하는 방법이다. CONVERT( [포맷(..

gent.tistory.com

 

 

댓글

Designed by JB FACTORY