快速填充列256个字符的空间SQL Server 2012

快速填充列256个字符的空间SQL Server 2012,sql,database,sql-server-2012,fill,replicate,Sql,Database,Sql Server 2012,Fill,Replicate,因此,我有一个使用SQL Server 2012创建的文件 许多列是可选的或未使用的,我们被要求对数字列进行零填充,并对字母数字列进行空格填充,以代替通常存在的字符 现在我有一个名为CDD的列,它有256个字符长 除了在单引号中按空格键256次外,还有没有更简单的方法填充此列 该文件是固定宽度的,因此我必须在此列中有256个空格才能正确导入。我在看replicate和stuff,但它们没有意义,因为该列没有要替换的原始字符串 Replicate使用零,但如何使用空格验证它?如果列中有实际字符,该

因此,我有一个使用SQL Server 2012创建的文件

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

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

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

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


Replicate
使用零,但如何使用空格验证它?如果列中有实际字符,该列将不会展开……SQL Server是否以这种方式折叠空白?

您将要使用该函数

SELECT REPLICATE(' ',256)

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

除了
复制
之外,您还可以使用

SELECT SPACE(256);

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

-如果没有要填充的内容,这将有助于填充工作?哦,亲爱的。我希望这是一个家庭作业。如果你被要求对生产数据库中的一个表执行此操作,你可能需要润色你的简历,看看你是否找到了一份有报酬的工作。@TommCatt哦,圣诞老人……这是一个项目中特定布局的一部分。该表有些不相关,因为文件的平面文件目标需要具有一定的宽度。没有人要我做,但必须做。这就是我来这里的原因。我认为我的简历不错。查看www.linkedin.com/pub/anthony-borgetti/43/34/6b9/如果一个表真的不相关,那么它不应该占用数据库中的空间。如果您需要表来执行操作,那么它不是无关的。我想你的意思是表中数据的形式是不相关的。但数据应尽可能以最原始、“自然”的形式保存。如果需要以某种方式对其进行格式化(哪些数据不需要),则在提取用于该特定用途的数据时执行格式化。如果表是有用的/here/,那么您或其他人很快就会发现它也是有用的/there/。这是原始数据,请保持干净。