hola Oscar
Yo trabajo firebird 2.0 y tampoco me funciona, no se si las proximas versiones lo tenga, lo hice de la siguiente forma
Código SQL
[-]select substring('000000000000000'||trim(codigo) from char_length('000000000000000'||trim(codigo))-15 for 15) as codigo15 from tabla
el numero 15 es la cantidad de ceros que se adicionan, en mi caso necesitaba que el dato fuera de 15 caracteres
es un poco manual pero me funciona