int 데이터 필드를 선행 0으로 nvarchar로 변환해야합니다.
예:
1 '001'로 변환
867은 '000867'등으로 변환합니다.
고마워.
4 시간 후의 답변입니다 ...
이 T-SQL 스크립트를 테스트하고 잘 작동합니다!
DECLARE @number1 INT, @number2 INT
SET @number1 = 1
SET @number2 = 867
SELECT RIGHT('000' + CAST(@number1 AS NCHAR(3)), 3 ) AS NUMBER_CONVERTED
SELECT RIGHT('000000' + CAST(@number2 AS NCHAR(6)), 6 ) AS NUMBER_CONVERTED
이 사용자 함수를 만들었습니다.
T-SQL 코드 :
CREATE FUNCTION CIntToChar(@intVal BIGINT, @intLen Int) RETURNS nvarchar(20)
AS
BEGIN
-- BIGINT = 2^63-1 (9,223,372,036,854,775,807) Max size number
-- @intlen contains the string size to return
IF @intlen > 20
SET @intlen = 20
RETURN REPLICATE('0',@intLen-LEN(RTRIM(CONVERT(nvarchar(20),@intVal))))
+ CONVERT(nvarchar(20),@intVal)
END
예 :
dbo.CIntToChar (867, 6)를 COD_ID로 선택
산출
000867