Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用SAS和TD SQL的逗号_Sql_Sas_Teradata_Comma - Fatal编程技术网

使用SAS和TD SQL的逗号

使用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,将其作为数字拉入并在

我正在使用SAS在Teradata环境中提取数据。我正在计算Teradata表中的行数,但希望输出为逗号格式(即1000000)。我可以使用下面的代码将值显示为逗号,但是当我尝试在SAS中添加列时,我不能,因为输出是字符格式的。有没有人对如何将数字值格式化为逗号有什么建议,以便在SAS中用于计算目的?谢谢

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。