1. FORMAT
소수점 없이 정수로 포맷팅
SELECT FORMAT(100.25, 'N0') AS MON01
결과 : '100'
소수점 첫째 자리까지 포맷팅
SELECT FORMAT(100.25, 'N1') AS MON01
결과 : '100.2'
SQL Server의 FORMAT 함수에서:
- 'N0' → 소수점 없음 (정수)
- 'N1' → 소수점 한 자리
- 'N2' → 소수점 두 자리
- 'N3' → 소수점 세 자리
- … 이런 식으로 계속 확장됩니다.
※ 예시: FORMAT(1234.5678, 'N2')
결과 : '1,234.57'
✔ 숫자에 대한 FORMAT 예시:
SELECT FORMAT(1234.567, 'N2') -- 결과: '1,234.57'
SELECT FORMAT(0.8532, 'P1') -- 결과: '85.3%' (P는 백분율)
✔ 날짜에 대한 FORMAT 예시:
SELECT FORMAT(GETDATE(), 'yyyy-MM-dd') -- 결과: '2025-04-08'
SELECT FORMAT(GETDATE(), 'MM/dd/yyyy') -- 결과: '04/08/2025'
여기서 잠깐
SELECT FORMAT(0.8532, 'P1') 이런게 있다면 굳이 *100을 할 필요가 없네?
정확합니다! 🎯
FORMAT(0.8532, 'P1')처럼 P (Percent) 형식을 쓰면,
자동으로 100을 곱하고 % 기호까지 붙여줍니다.
즉, *100을 따로 할 필요가 없습니다.
※ 예시 비교:
0.8532 | FORMAT(0.8532, 'P1') | 85.3% | 자동으로 100 곱하고 % 붙임 |
0.8532 | FORMAT(0.8532 * 100, 'N1') + '%' | 85.3% | 수동으로 계산하고 % 붙임 |
P0, P1, P2 등으로 소수점 자리수도 조절할 수 있습니다.
※ 참고 팁:
- FORMAT(값, 'P0') → 정수 퍼센트 (85%)
- FORMAT(값, 'P2') → 소수점 두 자리 (85.32%)
- 내부적으로 문자열로 반환되기 때문에, 숫자 계산에 다시 쓰려면 변환이 필요합니다.
FORMAT 함수는 숫자에만 적용되고 리턴은 문자로 반환
문자열 포맷을 다루고 싶을 땐 LEFT, RIGHT, SUBSTRING, CONCAT
같은 문자열 함수들을 사용해야 합니다.
SELECT SUBSTRING('20250408', 5, 2) + '/' + SUBSTRING('20250408', 7, 2)
◆ 문자열을 숫자로 변환하는 방법
SQL Server에서는 보통 다음 중 하나를 사용합니다.
1. CAST() 사용
2. CONVERT() 사용
※ 예시: FORMAT 결과를 다시 숫자로 변환해서 계산
▷ 주의할 점
- FORMAT으로 %가 포함된 문자열(85.3%)을 반환한 경우엔,
바로 숫자로 변환할 수 없습니다. % 기호를 먼저 제거해야 합니다.
※ 예시:
☞ 요약:
숫자 → 문자열 | FORMAT(...) | NVARCHAR |
문자열 → 숫자 | CAST(...) 또는 CONVERT(...) | FLOAT, DECIMAL 등 |
'IT' 카테고리의 다른 글
C# 비동기 async / await + Task 이해와 예제 (0) | 2025.04.03 |
---|---|
C# Queue 사용법 예제 (0) | 2025.04.02 |
C# SWICH 문 예제 (0) | 2025.04.02 |
C# 델리게이트 이벤트핸들러 사용 예제 (0) | 2025.03.28 |
C# 델리게이트 이해 및 예제 (0) | 2025.03.28 |