Auch für das Upper/like im where gilt, dass das nicht so tragisch ist, wenn es vorher bereits Schlüsseleinschränkungen gibt:

where k1=w1 and k2=w2 and upper(k3) like '....'

Über K1 und K2 sollte dann natürlich ein Index vorhanden sein.

übrigens:

like '0301__03____________%'
==
like '0301__03%'