gpt4 book ai didi

sql-server - 如何将 int 转换为带有前导零的 char?

转载 作者:行者123 更新时间:2023-12-01 16:59:12 33 4
gpt4 key购买 nike

我需要将 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

最佳答案

试试这个:select right('00000' + cast(Your_Field as varchar(5)), 5)

它将得到 5 位数字的结果,例如:00001,....,01234

关于sql-server - 如何将 int 转换为带有前导零的 char?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2397161/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com