使用SAS和TD SQL的逗号
我正在使用SAS在Teradata环境中提取数据。我正在计算Teradata表中的行数,但希望输出为逗号格式(即1000000)。我可以使用下面的代码将值显示为逗号,但是当我尝试在SAS中添加列时,我不能,因为输出是字符格式的。有没有人对如何将数字值格式化为逗号有什么建议,以便在SAS中用于计算目的?谢谢使用SAS和TD SQL的逗号,sql,sas,teradata,comma,Sql,Sas,Teradata,Comma,我正在使用SAS在Teradata环境中提取数据。我正在计算Teradata表中的行数,但希望输出为逗号格式(即1000000)。我可以使用下面的代码将值显示为逗号,但是当我尝试在SAS中添加列时,我不能,因为输出是字符格式的。有没有人对如何将数字值格式化为逗号有什么建议,以便在SAS中用于计算目的?谢谢 CAST(Count(*) as (format 'Z,ZZZ,ZZ9')) as char(10)) as rowCount, 假设您正在使用pass-through,将其作为数字拉入并在
CAST(Count(*) as (format 'Z,ZZZ,ZZ9')) as char(10)) as rowCount,
假设您正在使用pass-through,将其作为数字拉入并在SAS端格式化。现在,您已经将其转换为字符(char10),SAS没有对字符变量进行数学运算,这在逻辑上是有意义的
select rowCount format=comma12. from con
(select
count(*) as rowCount ....
)
如果您有一个
选择*
,您可以稍后在数据步骤中或通过PROC数据集对其进行格式化。SAS将显示层和存储层分开,因此格式控制外观,但基础数据仍然是数字。将其作为数字提取,然后在SAS端将其格式化为逗号。您希望值作为数字还是字符串?如果您想将其作为一个数字,为什么要在Teradata端将其转换为字符串?这意味着,如果您想对SAS端的数字进行任何算术运算,您必须将其转换回SAS端的数字。注意Teradata中的“BIGINT”数据类型,它们不能很好地转换为SAS数值变量。您可能希望将其转换为FLOAT。