El blog de Martini

Ordenar cadenas de texto que contengan números en MySQL y Symfony

Noviembre 2, 2009 · 2 comentarios

En un proyecto reciente, tuve que ordenar una columna que contenía RUN, estas cadenas tienen entre 7 y 8 números enteros y un dígito verificador que puede ser un número entre 0-9 o una letra K, ordenar estas cadenas puede ser algo complicado pues el ordenamiento no es numérico.

En este sitio presentan una solución bastante sencilla, básicamente es sumarle un cero a la columna por la que queremos ordenar.

mysql> SELECT column FROM table_name ORDER BY column+0;

Esta idea se puede llevar a symfony simplemente añadiendo una cláusula de ordenamiento en un Criteria.

$c = new Criteria();
$c->addDescendingOrderByColumn('USERNAME+0');

Saludos!

Categorías: MySQL · Symfony
Etiquetado: , , , ,

2 respuestas hasta el momento ↓

Dejar un comentario