熟悉使用like函数过滤字符值,对数值也可以这样做吗?
Col A Col B
1 3214.22
2 4432.11
3 11.65
4 342.98
例如,以下适用于字符值:
data test;
set table (Where = (Col B like '%.22));
run;
您可以执行计算来确定比较所需的小数部分。
data want;
set have;
where round ( abs(b) - int(abs(b)), 1e-8 ) = 0.22; /* 1e-6 is rounding level, used here as a fuzz factor */
run;
或者,根据@whymath,比较函数(如CATS
或PUTN
(返回的数值的字符表示。
where cats(b) like '%.22'; /* character value being compared depends on BESTw. chosen by CATS */
where put(b,best15.2) like '%.22'; /* match fractional parts >= .215 to < .225 */