Saltar al contenido

¿Cómo ordenar por campo varchar como número?

Solución:

Parece que “proc” es una cadena (varchar field), por lo que se ordena léxicamente. Si es así, probablemente pueda pedirlo por

SELECT `proc` FROM `table` ORDER BY convert(`proc`, decimal) DESC;

Tenga en cuenta que estas consultas serán muy lentas y, para cualquier uso serio, es mejor utilizar columnas numéricas para almacenar datos numéricos.

El campo de columna para proc es VARCHAR o CHAR y lo trata como una cadena literal, ordenando alfabéticamente.

Convierta la columna a doble o flotante o emita el valor

SELECT `proc` FROM `table` ORDER BY CAST(`proc` AS decimal) DESC;
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : / /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *