Doing what you ask is easy:
data just_nums (keep=_numeric_) just_chars (keep=_character_);
set have;
run;
However, you have to realize that this is less than useless. It is destructive. Once you have separated them, and there are no common variables in the two data sets, how will you ever put them back together again? There is no SAS-based reason to do this. Perhaps there is an academic reason?