Well I am pretty sure there must be plenty of programs out there that do this type of thing. I was hoping one of the new analytical functions in Oracle could handle this. If I was going to design a program like this I would do something like...and I am literally thinking this up as I type... grab two values, look for # of occurrences with same two values using lag... if a lot of matches assume I am in some sort of repeating pattern so add a value to the two and test three values... keep repeating above until I stop getting matches (throw this in also...even if I don't get a match on 3..4..5 go to the next value and assume some sort of single value not included in sequence and see if we can match on "ABC?E" etc... -----Original Message----- From: Dennis Williams [mailto:oracledba.williams@xxxxxxxxx] Sent: Thursday, July 21, 2005 7:29 PM To: Post, Ethan Cc: oracle-l@xxxxxxxxxxxxx Subject: Re: How To Find Reapeating Row Patterns Ethan, I'm stumped. Do you know how to accomplish this in a regular programming language like Pascal or Java? Is the sequence always the same length, or is the length arbitrary? Unless someone knows of a pattern recognition function in Oracle, my guess is that you will probably write an external C function to do this and then call that function from Oracle. It sounds pretty compute-intensive to me. It sounds a little like what the Unix "diff" program does. Dennis Williams -- http://www.freelists.org/webpage/oracle-l