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 |