SAS Examples: Numeric/Character Conversions
Last updated:Table of Contents
- Convert char to numeric
- Convert numeric to char
- Pad numeric value with leading zeros
- Restrict decimal places in Proc SQL
Convert char to numeric
proc sql;
select input(<tbl_alias>.<char_field>,8.)
from <namespace>.<full_table_name> as <tbl_alias>;
quit;
Convert numeric to char
proc sql;
select put(<numeric-attribute>,7.)
from <table>
where <conditions>;
quit;
Pad numeric value with leading zeros
Suppose <my_numeric_value>
is a numeric SAS value. This will convert it to char and pad the value.
translate(right(put(<my_numeric_value>,9.0)),'0',' ')
Restrict decimal places in Proc SQL
Use format
X.Y
where X
indicates the total number of digits and Y
indicates the number of decimal places.
data sandbox.tests;
length name $20.;
input id name $ balance;
DATALINES;
1 bob 1.12
2 john 2.312321
3 peter 3.1416
;
run;
id | name | balance |
---|---|---|
1 | bob | 1.12 |
2 | john | 2.312321 |
3 | peter | 3.1416 |
proc sql;
select
balance format 9.2
from sandbox.tests;
quit;
balance |
---|
1.12 |
2.31 |
3.14 |