es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

MYSQL ORDENAR POR Número en cadena

Tengo datos en mi tabla de la siguiente manera. Pero no puedo ordenar debido a que los números se encuentran al final de la cadena.

Solo está disponible la información de año de 4 dígitos al final de los usuarios.

¿Es posible ordenar por los años al final de los artículos?

Columna de usuarios

USUARIO-A-2021
USUARIO-B-2018
USUARIO-C-2019
USUARIO-D-2017
USUARIO-E-2020
USUARIO-F-2016

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, es posible ordenar por los años al final de los artículos utilizando la cláusula ORDER BY en SQL. Puede extraer la información del año de cada valor de usuario utilizando la función SUBSTR() y luego convertirla en un valor numérico utilizando la función CAST(). Aquí hay una consulta de ejemplo que ordena los usuarios por su año en orden descendente:

    SELECT *
    FROM my_table
    ORDER BY CAST(SUBSTR(users, -4) AS UNSIGNED) DESC;
    

    Esta consulta extrae los últimos cuatro caracteres de la columna de usuarios utilizando SUBSTR(), los convierte en un entero sin signo utilizando CAST() y luego ordena los resultados en orden descendente usando ORDER BY. Con esta consulta, debería poder ordenar sus datos por la información del año al final de los valores de usuario.

Comments are closed.