2023.06.02 - [DataBase/mssql] - CONVERT, FORMAT함수 : 날짜(DATE) 포맷 변환
위 포스팅을 작성 중에 FORMAT 함수가 다양한 서식 변환을 제공하여 더 자세히 알아보았더니, FORMAT 함수는 날짜, 숫자, 문자열, 시간 외에도 다른 데이터 유형에 대한 서식 지정을 제공하고 있었다.
때문에 FORMAT 함수를 사용하여 다양한 데이터 유형 변환 예제를 확인하며 내용을 정리해보았다.
1. 숫자 데이터 변환
1. 통화 형식 변환
통화 기호, 천 단위 구분 콤마 및 소수점 자릿수를 포함하여 숫자를 서식화할 수 있다.
SELECT FORMAT(12345.6789, 'C') AS currency;
--₩12,346
SELECT FORMAT(12345.6789, 'C', 'en-US') AS currency;
--$12,345.68
위의 예제를 보면 'C'는 통화 형식을 의미하며, C+소수점자리숫자 형식으로 옵션 작성이 가능한 것으로 보인다. 쿼리 결과는 통화 기호 + 숫자로 표시된다. 시스템 국가에 따라 결과가 다르므로 3번째 옵션으로 언어및국가를 넣어주면 해당 통화 기준으로 결과가 표시된다.
(123.456,'C', 'en-US')
-> $123.46
(123.456, 'C', 'fr-FR')
-> 123,46 €
(123.456 ,'C', 'ja-JP')
-> ¥12,346
(12345.6789, 'C3', 'en-US')
-> $12,345.679
(12345.6789, 'C4', 'fr-FR')
-> 12 345,6789 €
(12345.6789, 'C2', 'ja-JP')
-> ¥12,345.68
2. 백분율 형식으로 변환
FORMAT 함수를 사용해 퍼센트 기호와 소수점 자릿수를 지정하여 숫자를 백분율 형식으로 변환할 수도 있다.
SELECT FORMAT(0.75, 'P') AS percentage;
--75.00%
위의 예제에서 'P'는 백분율 형식을 의미하며, P+소수점자리 숫자로 소수점 지정이 가능하다. P옵션의 결과는 소수점 둘째 자리까지 표시되고 마지막에 % 기호가 붙습니다.
해당 옵션도 통화와 마찬가지로 시스템 국가에 따라 결과가 다를 수 있으며, 3번째 옵션으로 지정 가능하다.
3. 숫자 형식변환
FORMAT 함수에서는 숫자 형식 변환에 서식 문자열을 조합하여 사용할 수 있다.
고정 소수점을 표현할 경우 아래와 같이 사용한다.
SELECT FORMAT(123.456789, '0.00') AS decimal;
--123.46
위 예제에서 0.00은 소수점 2자리 수까지 고정하며 그 이후의 빈값은 0으로 채운다.
(12.3, '0.00')
-> 12.30
--> 뒤를 0으로 채운다.
(12.345, '0.00')
-> 12.35
--> 반올림
SELECT FORMAT(1234.56789, '0.##') AS decimal;
--1234.57
위의 예제와 같이 소수점 이하 자릿수 제한할 수 있다. '0.##'은 소수점 이하 자릿수를 최대 두 자리까지 표시한다는 것이다. 따라서 결과는 1234.57로 표시된다.
또는 아래와 같이 숫자에 천 단위 구분 기호를 포함할 수 있다.
SELECT FORMAT(1234567.89, '#,##0.00') AS thousand;
--1,234,567.89
SELECT FORMAT(1234567.89, '#,#') AS thousand;
--1,234,568
'DataBase > mssql' 카테고리의 다른 글
[MSSQL] STRING_SPLIT 입력 순서대로 자르기 (0) | 2023.07.07 |
---|---|
[MSSQL] 컬럼 검색하기 (0) | 2023.07.05 |
CONVERT, FORMAT함수 : 날짜(DATE) 포맷 변환 (0) | 2023.06.02 |
SQL Server의 OUTPUT 절: 데이터 변경 작업의 결과 추적 및 활용 (0) | 2023.05.23 |
MSSQL DATEDIFF 함수를 활용한 날짜 간격 계산 (1) | 2023.05.19 |