You should provide example data of the two data sets and what you expect as a result. Data is best in the form of a data step.
Note that if the variable in two or more data sets for Merge or Set with the same name has different types then SAS will throw an error and not allow any execution of the data set. You will need to either rename the variable so they don't have the same name or in a prior step go the dance to create a different data set with the proper type variable.
Here's an example of "fixing" a character variable that should have been numeric:
data have;
input x $;
datalines;
1223
456
;
run;
data want;
set have(rename=(x=oldx));
x=input(oldx,f5.);
run;
The numeric to character case involves a PUT statement with the proper format.