The following query is used to find the number of blocks that contain rows:
SELECT COUNT(DISTINCTSUBST(ROWID,15,4)||SUBSTR(ROWID,1,8))
FROM owner.tablename.

I have run this and do not understand how the two substring arguments detect occupancy.

Can somebody help me to understand this?
Thanks in advance.