MSSQL
[MSSQL] 숫자를 지정한 자리수만큼 '0'을 채워 문자로 변경
csmkong
2023. 12. 20. 09:49
숫자형 데이터를 문자형 데이터로 변경할 때 앞에 0을 채워서 지정된 길이로 만들어 사용하고 싶을 때가 있습니다.
단순히 CONVERT를 사용하면 앞에 0이 채워지지 않은 상태로 숫자만 문자형으로 변경되기 때문에
다른 방법을 사용해야 합니다.
FORMAT 함수를 사용하면 앞에 0을 채워 지정한 길이의 문자열로 만들어 사용할 수 있습니다.
-- FORMAT 함수를 사용하여 숫자를 10자리 문자열로 변경
SELECT FORMAT(1230,'0000000000') AS FORMATTED_TEXT
-- CONVERT 함수를 사용하여 숫자를 문자로 변경
SELECT CONVERT(NVARCHAR(10),1230) AS CONVERTED_TEXT
위 코드를 실행하면 아래와 같은 결과가 나옵니다.
기타 다른 상황에 대한 실행 결과
-- 숫자 길이가 서식보다 길 때
SELECT FORMAT(12345678901234567890,'0000000000') AS FORMATTED_OVER_TEXT
-- 숫자를 3자리 마다 쉼표로 구분하고 싶을 때
SELECT FORMAT(12345678901234567890,'0,000,000,000') AS FORMATTED_COMMAS_TEXT
-- 숫자 앞에 문자를 고정으로 넣어주고 싶을 때
SELECT FORMAT(12345678901234567890,'FORMATTED_0000000000') AS FORMATTED_COMMAS_TEXT