SQL Server:向列中添加字符
我在获取SQL代码时遇到问题:在一列中,我有一个值,在该值之前有5或6个字符,我需要输入字符:0,列中的值必须有7个字符SQL Server:向列中添加字符,sql,sql-server,Sql,Sql Server,我在获取SQL代码时遇到问题:在一列中,我有一个值,在该值之前有5或6个字符,我需要输入字符:0,列中的值必须有7个字符 Column ------ 123456 123456 12345 12345 123456 这是我的代码,不起作用(我正在使用SQL Server): 我需要: Column ------- 0123456 0123456 0012345 0012345 0123456 感谢您更新我的代码如果您想保留该值。这里有一种方法: U
Column
------
123456
123456
12345
12345
123456
这是我的代码,不起作用(我正在使用SQL Server):
我需要:
Column
-------
0123456
0123456
0012345
0012345
0123456
感谢您更新我的代码如果您想保留该值。这里有一种方法:
Update table
set column = RIGHT(CONCAT( REPLICATE('0', 7), ( column ) ), 7)
where LEN( + RTRIM ( column ) ) < 7;
更新表
设置列=右(CONCAT(复制('0',7),(列)),7)
式中LEN(+RTRIM(列))<7;
根据您的示例,我不确定同一字段中是否有多个值。但是,假设给定行的值必须包含一个7位数且填充为0的数字,请参见下面的示例。请记住,存储填充值的列必须是字符串,例如VARCHAR
UPDATE table SET column = RIGHT('0000000' + column, 7)
这将更新任何要填充最多7个零的值
如果列当前存储为整数而不是字符串,请使用以下命令:
UPDATE table SET TextColumn = RIGHT('0000000' + CONVERT(VARCHAR, IntColumn), 7)
UPDATE table SET column = RIGHT('0000000' + column, 7)
UPDATE table SET TextColumn = RIGHT('0000000' + CONVERT(VARCHAR, IntColumn), 7)