将特定列长度填充添加到已填充的列

时间:2017-09-18 18:05:06

标签: sql sql-server sql-server-2012

我有一个填充了值的表格列。 Column设置为Varchar(100)。我遇到的问题是我需要获取任何数据并使用“填充”将其展开,直到每个数据为100个字符。

所有这些都进入固定宽度的平面文件。

该列中的每个条目现在都在20到30个字符之间。我将添加的填充是“空格”

我的问题是我不知道如何编写更新语句来处理更新现有数据。我已经修好了未来的数据。

有什么建议吗?

1 个答案:

答案 0 :(得分:4)

您可以使用update执行此操作。但是,最简单的方法可能是将类型更改为char(100)

alter table t alter column col char(100);

char()使用右侧的空格填充值。

或者,您可以这样做:

update t
    set col = col + replicate(' ', 100);

我不认为SQL Server抱怨大小差异。如果您担心潜在的错误,可以这样做:

update t
    set col = col + replicate(' ', 100 - len(col));