Ao invés de criar uma função não poderia usar o ucase() ou lcase()? Pelo que li, as funções que fazem parte da especificação ANSI existem em todos os SGBD (ou pelo menos deveriam). Pode não ficar perfeito mas já seria de bom tamanho, pelo menos para o momento.
Funcionou exceto quando tem acentuação. Você tem razão quando fala em ignorar os acentos. Fica mais confortável para o usuário. Por enquanto vou deixar assim. Quando der ou na hora que realmente precisar, eu volto ao assunto Muito obrigado e abraços, Jorge
Para a questão do acento, será necessário criar uma função no seu banco de dados. E depois configurar o next. Depois de configurado, todos os whereLikeIgnoreAll passam a usar essa função. É bem simples.
No Postgre tem uma função chamada translate(). A chamada seria translate(campo, 'ÁáÉéÍíÓóÚúÂâÊêÎîÔôÛûÀàÈèÌìÒòÙùÄäËëÏïÖöÜüÃãÕõÑñÇç', 'AaEeIiOoUuAaEeIiOoUuAaEeIiOoUuAaEeIiOoUuAaOoCc'). Seria isso ou precisa de algo mais?
Parece que dá pra criar uma função usando o CREATE FUNCTION do postgre. Pelo que entendi, seria só definir um nome, o parâmetro de entrada e de saída e colocar a função translate dentro dessa função. Confere?