PDA

Ver la Versión Completa : Ordenar un campo Booleano en MySQL


Brewster
22-01-2005, 12:12:39
Hola a todos.-

Mi problema es el siguiente, tenía todo un Sitio Web atacando una BD en ACCESS, dicha BD la he pasado ya a MySQL, todo parece que funciona a la perfección salvo que no me ordena por campo booleano.

Ej.-

"Select * from Tabla order by prioridad, denominacion"

Prioridad es el campo booleano pero me lo ordena en orden inverso a como lo hacía en ACCESS, es decir muestra primero todos los false.

Podría poner.-

"select * from tabla order by prioridad, denominacion desc"

Pero entonces me ordena también denominación en orden decreciente y esto no me interesa.

¿Alguien sabe como ordenar en MySQL un campo Booleano?

Muchas gracias

Tony_G
22-01-2005, 13:23:44
Prueba con:

"select * from tabla order by prioridad desc, denominacion"

Saludos, Antonio.

roman
23-01-2005, 19:34:40
Lo que indica Tony debe funcionarte. Sólo quiero agregar que en MySql, al igual que en muchas base de datos, realmente no existen campos booleanos. El tipo BOOL es un sinónimo de TinyInt(1), es decir, un entero de un dígito. Normalmente se usan los valores 0 para false y 1 para true. Al ordenar por uno de estos campos realmente ordenas numéricamente de manera que false (0) va antes de true (1).

// Saludos

Brewster
24-01-2005, 10:52:38
El otro día ya probé lo de prioridad desc, denominacion

y no me funcionó, pero hoy he depurado más el código y ahora si me funciona.

Muchas gracias por todo