Sql 向SAS数据集中的字符字段添加尾随空格

Sql 向SAS数据集中的字符字段添加尾随空格,sql,sas,Sql,Sas,我有一个SAS数据集,其字段标题名包含长度不超过50的字符值。如果字符数少于50个,我想在现有字符串中添加尾随空格,使整个长度为50个字符 我尝试了长度、格式和put语句,但没有成功。您可以使用REPLICATE()。在下面的代码中,“TEST”将是您的列名 SELECT 'TEST'+REPLICATE(' ', 50-LEN('TEST')) , DATALENGTH('TEST'+REPLICATE(' ', 50-LEN('TEST'))) SAS中的字符变量始终为固定长度,并在右侧

我有一个SAS数据集,其字段标题名包含长度不超过50的字符值。如果字符数少于50个,我想在现有字符串中添加尾随空格,使整个长度为50个字符

我尝试了长度、格式和put语句,但没有成功。

您可以使用REPLICATE()。在下面的代码中,“TEST”将是您的列名

SELECT 
'TEST'+REPLICATE(' ', 50-LEN('TEST'))
, DATALENGTH('TEST'+REPLICATE(' ', 50-LEN('TEST')))

SAS中的字符变量始终为固定长度,并在右侧填充空格

data want ;
   length NAME $50 ;
   name='Fred';
run;

可能值得一提的是,如果您事先没有定义长度,会发生什么情况……此外,鉴于海报已标记了
sql
,您可能需要添加与您提供的数据步骤等效的SAS sql……您可以发布您正尝试执行的操作吗?SAS字符字段的长度总是固定的,并且在右侧用空格填充,因此不清楚您的问题是关于什么的。