Pues no entiendo por que complicarse tanto, ya que el amigo
Toni, él mismo a dado la solucion a su problema

.
Personalmente no trabajo con Firebird, pero segun tengo entendido, ya es un servidor bien
madurito, por tanto creo que tranquilamente se puede hacer ésta consulta SQL:
Código SQL
[-]select Campo1 from Tabla
order by Abs(Campo1 - 5);
Particularmente la he probado en MySQL y he obtenido el siguiente resultado:
Cita:
Campo1
5
4
6
3
7
2
8
1
9
10
|
Saludos...

__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7