miércoles, 30 de marzo de 2011

Order by en columnas de tipo caracter

Normalmente cuando nos encontramos con reportes que entregan una columna de numero de documento , el usuario solicitara que la información se le entregue ordenada con respecto a este campo , pero que pasa cuando esta columna incluye datos tanto alfanuméricos?

a pues si se ordenan puede darte cosas como estas


10000000001
111011
1111
A1201


cual es la solución mas sencilla ,

agregar en las seccion del order by


select (datos)
 from tabla
order by lpad(columna,longitud columna,'0')

 Un ejemplo con la tabla de transacciones de la ebs

select trx_number
  from ra_customer_trx_all
order  by  lpad(trx_number,50,'0')

si esta tabla tuviera solo los datos de arriba los presentaría asi

1111
A1201
111011
10000000001

 Espero que les sea útil , felices reportes.

No hay comentarios:

Publicar un comentario