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

Hi,

I intend to select those cases which satisfy:

IF regno LIKE ('M%15', 'M%25', 'M%30', 'DISC') THEN OUTPUT;

However, this code is wrong.

How can I accomplish this? Thanks a lot.

1 ACCEPTED SOLUTION

Accepted Solutions
FriedEgg
SAS Employee

The like operator is not available to the if statement only where clauses also I am quite sure it cannot be combined with the in operator to have a list of values.

View solution in original post

4 REPLIES 4
Reeza
Super User

You can only use LIKE in a WHERE clause not an if.

FriedEgg
SAS Employee

The like operator is not available to the if statement only where clauses also I am quite sure it cannot be combined with the in operator to have a list of values.

Ksharp
Super User

An alternative way is to use perl regular expression.

IF prxmatch('/M.*15|M.*25|M.*30|DISC/',regno) THEN OUTPUT;

Ksharp

rosietav
Calcite | Level 5

For what it's worth, I found that using CASE within a PROC SQL SELECT statement worked for me. Sharing the example code in case it is useful.

PROC SQL;
CREATE TABLE SET_A AS

SELECT *, (CASE

                    WHEN FIELD LIKE 'APPL%' THEN 'A'

                    WHEN FIELD LIKE 'SYS%' THEN 'B'

                    ELSE ''

               END

               )

               AS NEW_FIELDNAME

FROM SOURCE_TABLE

WHERE OTHER_CRITERIA = 'XXX';

RUN;

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
  • 4 replies
  • 2023 views
  • 3 likes
  • 5 in conversation