E' giusto che i risultati siano quelli. Stai confrontando delle stringhe.
Prova banalmente questo esempio
select 'bianca' < 'b'
che ti restituirà 0, quindi è ovvio che tutti i nomi che iniziano con la lettera b non vengano inclusi.
Una delle tante alternative è questa
select * from tab1 where nome regexp '^[a-b]'

Rispondi quotando