× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Okey, lets count a litlle different

count_W = 0;
count_O = 0;
for i = 1 to %len(yourfield);
select;
when %subst(yourfield:i:1) = 'W';
count_W += 1;
when %subst(yourfield:i:1) = 'O';
count_O += 1;
endsl;
endfor;




"Dennis Lovelady" <iseries@xxxxxxxxxxxx>
Sent by: rpg400-l-bounces@xxxxxxxxxxxx
06-05-2010 19:12
Please respond to
RPG programming on the IBM i / System i <rpg400-l@xxxxxxxxxxxx>


To
"'RPG programming on the IBM i / System i'" <rpg400-l@xxxxxxxxxxxx>
cc

Subject
RE: Find number of times a value occurs in a field






I have a field of 31 bytes that can have the value "O" or "W".
I *thought* there was either a BIF or Op-Code that I could use to
find
the number of times a value occured, but can not find it in the
manual.
ie: if the field contained WWWWWOOWWWWWOOWWWWWOOWWWWWOOWWW,
I would like to be able to get the value 23 for the number of times
the
W occurred.

Well, I'm generally opposed to using SQL for non-SQL functions but this
one
is ripe for the taking. :) Besides, if I don't suggest it then
Birgitta or
Luis or Charles will. :)

Exec SQL Set :wCount = length(trim(:field)) -
length(trim(replace(:field,'W',''))) ;

I think that would do it. (Note lack of space between ending
apostrophes on
that replace verb.)

(There is an underlying assumption that embedded blanks will not appear
within. With embedded blanks, the count can be overstated. Perhaps
significantly, as when field = 'W.............................W' (where .
represents a space).

Dennis Lovelady
http://www.linkedin.com/in/dennislovelady
--
"A true friend is the most precious of all possessions and the one we take
the least thought about acquiring."
-- La Rochefoucauld




As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.