我对SAS非常陌生,并且在类型转换方面苦苦挣扎。在我看来,它们完全不是直觉。我需要在SAS PROC SQL语句中这样做。
有人能帮我找出最好的方法来将像下面这样格式化的字段转换成一个数字,这样它就可以执行一些加减法,并与一个数字字段进行比较吗?
字段格式示例:“+3,820.00”
我使用了条带()来去掉+符号、逗号和空格,然后输入()使其成为一个数字,但我没有任何运气。
发布于 2015-08-06 22:03:01
commaw.d
信息格式将处理所有这些,而不需要任何剥离/等等。它很高兴地将+符号作为正数,逗号/十进制。这也适用于SQL,但下面的示例更容易显示.
data _null_;
x=' +3,820.00';
y=input(x,comma12.);
put x= y=;
run;
发布于 2015-08-06 21:35:41
使用压缩而不是剥离
Field1=input(压缩(字段,'+,‘),6);
或
Field1=input(format=comma10.2(字段,'+,'),逗号10.2);
发布于 2015-08-06 21:40:20
输入是将字符串转换为数字的正确方法,您可以在proc语句中使用input (例如,请参阅sql提取时将字符转换为数字 )。有些信息可以传递给输入函数,这将帮助您处理逗号&这样您就不必在调用输入之前将它们去掉。更多信息可以在这里找到:按类别分列的格式。
如果这没什么用,请告诉我。
https://stackoverflow.com/questions/31865946
复制相似问题