0

所以我有一个使用 SQL Server 2012 创建的文件。

许多列是可选的或未使用的,代替通常存在的字符,我们被要求用零填充数字列,并用空格填充字母数字列。

现在我有一个名为的列CDD,它有 256 个字符长。

除了在单引号中按空格键 256 次之外,有没有更简单的方法可以填充此列?

该文件是固定宽度的,因此我必须在此列中有 256 个空格才能正确导入。我在看replicateand stuff,但它们没有意义,因为该列没有要替换的原始字符串。

Replicate与零一起使用,但如何使用空格验证它?如果其中有一个实际字符,该列不会像它那样扩展...... SQL-Server 是否以这种方式折叠空白?

4

2 回答 2

1

您将要使用复制功能。

SELECT REPLICATE(' ',256)

此函数将重复空格(或您在第一个参数中输入的任何字符串)256 次(或在第二个参数中多次)。

于 2014-06-18T19:15:06.097 回答
0

除了REPLICATE你还可以使用

SELECT SPACE(256);

至于“列扩展”,除非您单击“文本中的结果”(而不是网格),否则该列不会在 SSMS 中显示为扩展。如果您使用该LEN函数,它将返回 0,但DATALENGTH将返回为一varchar列请求的实际空格数,或一列的定义长度char。无论哪种方式,如果将输出复制到文本编辑器中,您将看到它确实是一串空格。

于 2014-06-18T19:32:25.607 回答