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!
where a.date_created >=02/20/2018
and length(account_number) = 10
where a.date_created >=02/20/2018
and length(account_number) = 10
Strange! Your's matches mine so maybe there was a minor difference between what I posted and what I actually ran. This works. Thanks!
In addition to the suggestion from @novinosrin that moves one of the closing parentheses:
'20Feb2018'd
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.
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!
Check out this tutorial series to learn how to build your own steps in SAS Studio.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.