The following query written by former staff of Kentucky State Nature Preserves Commission, Shauna Dunham, parses SCIENTIFIC_NAME:


select replace(substr(title,s1,l1),'.','. ') Genus, replace(substr(title,s2,l2),'.','. ') Species, replace(substr(title,s3,l3),'.','. ') Subspecies from (select trim(title) title ,1 s1 ,instr(title,' ',1,1)-1 l1 ,instr(title,' ',1,1)+1 s2 ,instr(title,' ',1,2)-instr(title,' ',1,1)-1 l2 ,instr(title,' ',1,2)+1 s3 ,length(title)-instr(title,' ',1,2) l3 from (select replace(sn.scientific_name,'. ','.')||' ' title from scientific_name sn))