BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
vicky07
Quartz | Level 8

Hi,

Below is my code. What I am trying to do is apply format to salary and the sal_rng column shows the formated value as numeric, is there anyway that I can change the data type to char in the same SQL step. I mean i want the Sal_rng column as Char.

Proc Format;

  Value sallfmt

low-<1200      =  '$0-<$1200'

1200-<5200    =  '$1200-<$5200'

5200-<9200    =  '$5200-<$9200'

9200-<11200  =  '$9200-<$11200'

11200-<15200 = '$11200-<$15200'

15200-high     =  '$15200+'

;

Run

Data a;

Input salary;

cards;

1230

3456

7353

7252

12098

5690

37812

15789

14780

120

11344

;

Run;

Proc Sql;

Create table sal_amt as

select

Salary,

Salary format = salfmt. as Sal_Rng

from

a

;

Quit

Thanks in advance for your help!

1 ACCEPTED SOLUTION

Accepted Solutions
PGStats
Opal | Level 21

Use put()

Proc Sql;

Create table sal_amt as

select

Salary,

put(Salary, salfmt.) as Sal_Rng

from

a

;

Quit;

PG

PG

View solution in original post

2 REPLIES 2
PGStats
Opal | Level 21

Use put()

Proc Sql;

Create table sal_amt as

select

Salary,

put(Salary, salfmt.) as Sal_Rng

from

a

;

Quit;

PG

PG
vicky07
Quartz | Level 8

PG - It worked. Thanks!!

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 1385 views
  • 1 like
  • 2 in conversation