SQL Server:向列添加字符

Luk*_*uka 4 sql sql-server

我在获取 SQL 代码时遇到问题:在列中我有一个包含 5 或 6 个字符的值,然后我需要将字符 :0 放在列中,并且列中的值必须有 7 个字符。

Column
------
123456           
123456
12345
12345
123456
Run Code Online (Sandbox Code Playgroud)

这是我的代码不起作用(我使用的是 SQL Server):

Update table
set column = CONCAT( '0',  ( column ) )
where LEN( + RTRIM ( column ) )  < 7

Update table
set column = CONCAT( '0', RTRIM ( column ) )
where LEN( RTRIM( column ) ) < 7

UPDATE table
SET column = '0' + column
WHERE LEN(column) = 7
Run Code Online (Sandbox Code Playgroud)

我的结果:在我尝试之后,我得到了0之前的值,但仍然缺少 0。

Column
-------
0123456           
0123456
012345
012345
0123456
Run Code Online (Sandbox Code Playgroud)

我需要 :

Column
-------
0123456           
0123456
0012345
0012345
0123456
Run Code Online (Sandbox Code Playgroud)

感谢您更新我的代码

Gor*_*off 5

您想左填充该值。这是一种方法:

Update table
    set column = RIGHT(CONCAT( REPLICATE('0', 7),  ( column ) ), 7)
    where LEN( + RTRIM ( column ) )  < 7;
Run Code Online (Sandbox Code Playgroud)