숫자를 0으로 채워진 문자열로 만들기
페이지 정보
작성자 서방님 댓글 0건 조회 157회 작성일 06-12-13 20:44본문
가끔은 필요 할 수 있는 기법이 아닌가 생각합니다. 특히 연습용 데이터를 테이블에 입력할 때 유용하리라 생각합니다. 팁이라고 하기엔 좀 단순한 주제인것 같네요^^
1. 숫자를 고정된 길이의 문자로 변형하기
다음과 같은 테이블이 있다고 가정을 하겠습니다..
USE SQLWorld -- 테이블 생성 CREATE TABLE Number ( -- 샘플 데이터 입력 DECLARE @num int WHILE @num <= 10 |
입력된 데이터를 SELECT 문을 통해 확인하면 결과는 다음과 같습니다.
col1 (10개 행 적용됨) |
이러한 상황에서 다음과 같은 결과 값을 얻으려고 합니다.
col1 |
어떤 방법이 가장 간단하고 좋을까요?
제가 예전에 자주 사용했던 방법은 다음과 같습니다.
SELECT REPLICATE('0', 10 - LEN(CAST(col1 AS varchar(10)))) |
표시하려는 문자가 10자리 이므로 10에서 col1 컬럼의 숫자를 varchar로 변환한 문자의 길이를 빼 나머지를 '0'으로 채워주는 방법입니다.
그런데 다음과 같은 방법을 최근에는 사용합니다.
SELECT RIGHT('0000000000' + CAST(col1 AS varchar(10)), 10) AS col1 |
이 방법이 훨씬 더 간단하지 않나 생각이 됩니다.
테스트용 데이터에서 고객의 번호를 만들어 내는 경우는 아래와 같이 합니다.
SELECT 'CT' + RIGHT('0000000000' + CAST(col1 AS varchar(10)), 10) AS col1 |
결과는 다음과 같습니다.
col1 (10개 행 적용됨) |
2. 정리
어떠한 결과를 두고 그 방법을 구현하는 방법은 여러 가지가 있습니다. 다양한 방법을 고민해 보고 이를 통해 가장 간단한 방법을 찾는게 좋지 않을까 싶습니다.
댓글목록
등록된 댓글이 없습니다.