我对SAS很陌生,并且在类型转换方面苦苦挣扎。它们似乎对我来说只是直觉。 我需要在SAS PROC SQL语句中执行此操作。
有人可以帮我找出将格式如下的字段转换为数字的最佳方法,以便可以进行一些加法/减法并与数字字段进行比较吗?
字段格式示例:'+ 3,820.00'
我用strip()去除了+号,逗号和空格然后输入()使它成为一个数字,但我没有运气。
答案 0 :(得分:4)
commaw.d
信息将在没有任何剥离/等的情况下处理所有这些内容。它很高兴地将+号作为正数和逗号/小数。这也适用于SQL,但更容易显示示例如下...
data _null_;
x=' +3,820.00';
y=input(x,comma12.);
put x= y=;
run;
答案 1 :(得分:1)
使用compress而不是strip
FIELD1 =输入(压缩(字段, '+'),6);
或
FIELD1 =输入(压缩(字段, '+'),comma10.2)格式= comma10.2;
答案 2 :(得分:1)
输入是将字符串转换为数字的正确方法,您可以在proc sql select语句中使用输入(例如,请参阅character to numeric conversion while sql extracting)。有些信息可以传递给输入功能,可以帮助你使用逗号和标志,以便您在调用输入之前不必将它们剥离。可以在此处找到更多信息:Informats by Category。
如果这没有用,请告诉我。