are you able to filter like
where mod( ID,1 ) = 0
the MOD() function provides the "remainder" after "dividing" ID by the second parameter, so will return 0 when ID is an integer.
Here is a test on the syntax [pre]650 proc sql FEEDBACK ;
651 create table ints as select * from sashelp.class where mod(age,1) = 0;
NOTE: Statement transforms to:
select CLASS.Name, CLASS.Sex, CLASS.Age, CLASS.Height, CLASS.Weight
from SASHELP.CLASS
where MOD(CLASS.Age, 1) = 0;
NOTE: Table WORK.INTS created, with 19 rows and 5 columns.
652 create table nint as select * from sashelp.class where mod(age,1) ne 0;
NOTE: Statement transforms to:
select CLASS.Name, CLASS.Sex, CLASS.Age, CLASS.Height, CLASS.Weight
from SASHELP.CLASS
where MOD(CLASS.Age, 1) not = 0;
NOTE: Table WORK.NINT created, with 0 rows and 5 columns.
653 quit;
NOTE: PROCEDURE SQL used[/pre]
looks like what you need