BookmarkSubscribeRSS Feed
OS2Rules
Obsidian | Level 7

Hi All:

A quick question about how to code an SQL:

I have a prefix value (a data set name) in one table, and a fully qualified name (including the member name and extension) in a second table.

Is there a way to code a SQL to match these?  I thought to use something like:

where a.prefix =: b.dsn

but this will not work.

I am not concerned whether the fully qualified name contains multiple sub directories, as long as the prefix matches.

Thanks in advance.

3 REPLIES 3
LarryWorley
Fluorite | Level 6

Try like operator with multi-character wild card "%'

where b.dsn like trim(a.prefix)||'%'

Haikuo
Onyx | Level 15

colon operator is not working in Proc SQL, you probably need to use scan():

where a.prefix=scan(b.dsn,1)

Haikuo

Astounding
PROC Star

I suspect LarryWorley hit the nail on the head, but just in case this should be worth a shot:

where trim(a.prefix) = substr(b.dsn, 1, length(a.prefix))

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