先頭にゼロを付けて int を char に変換するにはどうすればいいですか? 質問する

先頭にゼロを付けて int を char に変換するにはどうすればいいですか? 質問する

intデータフィールドを先頭にゼロが付いたnvarcharに変換する必要があります

例:

1 を '001' に変換

867 は '000867' などに変換されます。

THX。


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

ベストアンサー1

これを試して:select right('00000' + cast(Your_Field as varchar(5)), 5)

結果は5桁で返されます。例: 00001、...、01234

おすすめ記事