Desktop productivity for business analysts and programmers

Where Character Length = X

Accepted Solution Solved
Reply
Contributor
Posts: 64
Accepted Solution

Where Character Length = X

Quick question all,

 

I need Proc Sql syntax for a where statement bring back only records with a string length of 10.

 

 

I tried ths and it didn't work:

where  a.date_created >=02/20/2018
and length(account_number = 10) 

Thanks for any suggestions!


Accepted Solutions
Solution
‎03-12-2018 05:36 PM
Super User
Posts: 2,061

Re: Where Character Length = X

where  a.date_created >=02/20/2018
and length(account_number) = 10

View solution in original post


All Replies
Solution
‎03-12-2018 05:36 PM
Super User
Posts: 2,061

Re: Where Character Length = X

where  a.date_created >=02/20/2018
and length(account_number) = 10
Contributor
Posts: 64

Re: Where Character Length = X

Posted in reply to novinosrin

Strange! Your's matches mine so maybe there was a minor difference between what I posted and what I actually ran. This works. Thanks!

Super User
Posts: 6,934

Re: Where Character Length = X

In addition to the suggestion from @novinosrin that moves one of the closing parentheses:

 

  • A WHERE statement requires a semicolon, and
  • 02/20/2018 is the wrong way to refer to a date.  This actually means 2 divided by 20, divided by 2018.  Instead of 02/20/2018:

'20Feb2018'd

Super User
Posts: 2,061

Re: Where Character Length = X

hi @Dogo23 to help you clarify a bit more, see the below demo

data h;
input var $10.;
datalines;
9999999999
99999
9999999999
8888888888
777777
888
;

data w;
set h;
length=length(var);
length2=length(var)=10;/*your were trying to compute the length of binary result which will always result in 1*/
if length(var=10) then flag=1;/*your were trying to compute the length of binary result*/
run;

Your check was a binary check nested before the length function computes it's work. The nested binary will result in 1 or 0 for values that is 10 and "Not aka 0" for otherwise. The commented section should help i think. Thank you.

☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 4 replies
  • 153 views
  • 0 likes
  • 3 in conversation