ฉันต้องการแปลงข้อมูล int เป็น 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