gpt4 book ai didi

mysql - 如何将sas中的char数据类型转换为数字数据类型

转载 作者:行者123 更新时间:2023-11-29 01:56:12 25 4
gpt4 key购买 nike

我有一个表,其描述如日志中所示是:

create table WORK.EMP( bufsize=65536 )
(

Series_Name char(21) format=$21. informat=$21.,
Series_Code char(17) format=$17. informat=$17.,
Country_Name char(19) format=$19. informat=$19.,
Country_Code char(3) format=$3. informat=$3.,
_2000__YR2000_ char(12) format=$12. informat=$12.,
_2001__YR2001_ char(12) format=$12. informat=$12.,
_2002__YR2002_ char(12) format=$12. informat=$12.,
_2003__YR2003_ char(12) format=$12. informat=$12.,
_2004__YR2004_ char(11) format=$11. informat=$11.,
_2005__YR2005_ char(11) format=$11. informat=$11.,
_2006__YR2006_ char(11) format=$11. informat=$11.,
_2007__YR2007_ char(12) format=$12. informat=$12.,
_2008__YR2008_ char(12) format=$12. informat=$12.,
_2009__YR2009_ char(12) format=$12. informat=$12.,
_2010__YR2010_ char(12) format=$12. informat=$12.,
_2011__YR2011_ char(12) format=$12. informat=$12.,
_2012__YR2012_ char(12) format=$12. informat=$12.,
Total12 num label='Total12'
);

现在我想对 2000 年到 2012 年的列求和并将结果放入名为“Total12”的列中,但首先我认为应该将“char”数据类型转换为“int”来进行计算。我在 SAS 中尝试了以下代码:

proc sql;    
alter table emp modify _2000__YR2000_ num;
alter table emp modify _2001__YR2001_ num;
run;

但它给了我以下错误:

ERROR: You cannot alter '_2000__YR2000_' to be a numeric column.

我现在该怎么办?

最佳答案

一种方法是在数据步骤中使用输入语句来创建一个新的变量/列,并以不同的名称命名,删除原来的变量/列,然后重命名新变量以匹配原来的变量。

data work.want(rename=(_2000_YR2000_b=_2000_YR2000_));
set work.emp;
_2000__YR2000_b=input(_2000__YR2000_,8.);
drop _2000_YR2000_;
run;

等等。

关于mysql - 如何将sas中的char数据类型转换为数字数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28231288/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com