Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Consulta MAX() en un String

Estas en el tema de Consulta MAX() en un String en el foro de Mysql en Foros del Web. Me explico tengo una tabla con un correlativo que solo contiene números. Lo malo es que el tipo de dato de esa columna es varchar. ...
  #1 (permalink)  
Antiguo 18/05/2012, 14:13
 
Fecha de Ingreso: abril-2012
Mensajes: 17
Antigüedad: 12 años
Puntos: 0
Consulta MAX() en un String

Me explico tengo una tabla con un correlativo que solo contiene números. Lo malo es que el tipo de dato de esa columna es varchar.
Cuando hago algo por el estilo.
Código:
Select MAX(columna) from tabla
me selecciona el el dato con primer dígito mas alto
EJ:
Si en la columna tengo el ; 1,2,3,4,8,9,15.
Me muestra el "9" me gustaría que puedo hacer para que haga una búsqueda como si fuera un int lo malo que no puedo cambiar el tipo de dato por que me arruinaría todo el sistema.
Gracias de antemano.
  #2 (permalink)  
Antiguo 18/05/2012, 14:26
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Consulta MAX() en un String

Hola Titoooos

Manejar una columna que sólo almacena números como varchar es una barbaridad... y como ya te habrás dado cuenta te puede ocasionar muchos dolores de cabeza.

Puedes intentar hacer algo como esto:

Código MySQL:
Ver original
  1. SELECT MAX(CAST(columna as UNSIGNED )) FROM tu_tabla

Pero mucho ojo, el hacer casteo de cadenas QUE NO CONTENGAN SOLO NÚMEROS puede ocasionarte problemas.

Saludos
Leo.
  #3 (permalink)  
Antiguo 18/05/2012, 14:34
 
Fecha de Ingreso: abril-2012
Mensajes: 17
Antigüedad: 12 años
Puntos: 0
Respuesta: Consulta MAX() en un String

muchas gracias Leandro me sirvió :)
  #4 (permalink)  
Antiguo 18/05/2012, 14:53
 
Fecha de Ingreso: abril-2012
Mensajes: 17
Antigüedad: 12 años
Puntos: 0
Respuesta: Consulta MAX() en un String

muchas gracias!!!!!
  #5 (permalink)  
Antiguo 18/05/2012, 18:38
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Consulta MAX() en un String

Cita:
lo malo que no puedo cambiar el tipo de dato por que me arruinaría todo el sistema.
Lamento tener que decirte que tu sistema ya es una ruina.

Si has puesto un VARCHAR donde debía haber un INT, el sistema ya es un desastre y lo único que vas a tener son problemas. No quiero imaginar las otras cosas que puedes haber hecho (deseo pensar que no has usado VARCHAR para las fechas).
Espero que tampoco hayas usado ese campo para guardar múltiples valores separados por comas, porque eso ya sería un desastre mayor.

Sería mucho mejor, a futuro, que corrigieras esos errores de diseño antes que te causen verdaderas dificultados.

Aún estás a tiempo...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: max, select, string, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:25.