Sto lavorando con Postgres e devo fare una ricerca usando between, per esempio:

SELECT * FROM consulenti WHERE lower(cognome) BETWEEN 'a' AND 'f' ORDER BY cognome, nome, id ASC;

Qualcuno mi sa dire perchè non mi prende i valori f?

EDIT:

Ho letto ora su w3c Note: The BETWEEN operator is treated differently in different databases!

Come faccio a scrivere una query che vada bene per tutti?