• Home
  • /
  • BASE SAS
  • /
  • Comparison operator in SAS – The =: Operator

0 Comments

June 29, 2020

Most people who find themselves acquainted with programming SAS are aware of the colon operator ( =: ). There are a couple of different colon operators in SAS, however, on this post, I’m only talking about the comparison operator in SAS.

The equal colon operator works very similarly to the substr() function. It is used to compare substrings for equality.

Here is a quick little example:

data null;
x = 'abcdefg';
if x =: 'abc'
then put 'The substrings match.';
run;

As you may see when you run the data step above the substring ‘abc’ matches in ‘abcdefg’.

A better approach to think about it’s that it “starts with” the substring. The same could also be achieved by this statement:

if substr(x,1,3) = 'abc'
then put 'The substrings match.';

There is one major difference between the =: operator and using substr().

With the substr() function you tell SAS precisely how many characters to search for the substring.

In the example above it was 3. For the =: operator it has to determine what number of characters to look.

It does this by (considerably counter-intuitively) each side of the operator to search out the shortest length.

Here is an example:

data null;
x = 'abcdefg';
if x =: 'abc'
then put 'The substrings match.';
run;

If you run the above data step you will notice that they match.

It appears to be like slightly humorous because most of us assume that SAS is searching for ‘abcdefg’ within ‘abc’, however that is probably not what’s happening.

SAS uses the shortest string to determine what to search for, irrespective of which side of the equals signal it’s on.

Oh yeah, the =: operator additionally works in list context similar to:

if x in: ('abc', 'xyz', 'def');

related posts:


Column Input in SAS to Read Raw Data Arranged in Columns


Date Interval Functions – INTNX and INTCK in SAS


SAS Generation Datasets

Subhro Kar

About the author

Been in the realm with the professionals of the IT industry. I am passionate about Coding, Blogging, Web Designing and deliver creative and useful content for a wide array of audience.

Subhro

Leave a Reply

Your email address will not be published. Required fields are marked

This site uses Akismet to reduce spam. Learn how your comment data is processed.

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}