No Firebird 2 a função substring aceita variáveis como parâmetro. Em versões anteriores à 2 é melhor utilizar SP. Leia o tópico "SP_UDF - Manipulação de strings" de 29/10/2006. Abraço! Jeferson Oliveira