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

Convertir Tipos De Campos

Estas en el tema de Convertir Tipos De Campos en el foro de Mysql en Foros del Web. Hola a todos, tengo este codigo SELECT n_envio, guia_cliente, CASE WHEN recepcion_conforme =1 THEN fecha_visita1 WHEN recepcion_conforme2=1 THEN fecha_visita2 WHEN recepcion_conforme3=1 THEN fecha_visita3 ELSE ' ...
  #1 (permalink)  
Antiguo 18/12/2007, 08:49
 
Fecha de Ingreso: noviembre-2006
Ubicación: Trenque Lauquen
Mensajes: 82
Antigüedad: 17 años, 5 meses
Puntos: 0
De acuerdo Convertir Tipos De Campos

Hola a todos, tengo este codigo

SELECT n_envio, guia_cliente,
CASE WHEN recepcion_conforme =1 THEN fecha_visita1
WHEN recepcion_conforme2=1 THEN fecha_visita2
WHEN recepcion_conforme3=1 THEN fecha_visita3
ELSE ' '
END AS fecha
FROM Orden_envio;

anda bien pero el problema es que el resultado "fecha" me lo devuelve como texto y yo necesito convertirlo a DATE, lo estoy intentanto con CAST(), que creo que es la funcion que me lo conviente, pero no me sale, como se hace?? muchas gracias por la ayuda!
  #2 (permalink)  
Antiguo 18/12/2007, 09:17
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Re: Convertir Tipos De Campos

Pregunta...
¿Esos campos recepcion_conforme2 y 3, de qué tipo son? si son VARCHAR, no estas trabajando con un campo fecha sino un texto. ¿Cómo queres que te devuelva una fecha en ese caso?

¿Cómo estas usando la función CAST()?
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #3 (permalink)  
Antiguo 18/12/2007, 09:25
 
Fecha de Ingreso: noviembre-2006
Ubicación: Trenque Lauquen
Mensajes: 82
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: Convertir Tipos De Campos

Hola ante todo gracias por responder, el campo recepcion conforme es int(1), pero lo que quiero que me devuelta es fecha_visita1,fecha_visita2,fecha_visita1 que este campo si es DATE, con respecto a lo de la funcion cast() en realidad soy muy nuevo usando mysql asique solo probaba a ver si podia hacerla funcionar, como puedo hacer que el resultado del select sea DATE?? y gracias nuevamente por la ayuda!
  #4 (permalink)  
Antiguo 18/12/2007, 10:13
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, 4 meses
Puntos: 2658
Re: Convertir Tipos De Campos

Hacele una conversión DATE( CAST( valor as DATETIME)):
Cita:
SELECT n_envio, guia_cliente,
DATE(CAST((CASE WHEN recepcion_conforme =1 THEN fecha_visita1
WHEN recepcion_conforme2=1 THEN fecha_visita2
WHEN recepcion_conforme3=1 THEN fecha_visita3
ELSE ' '
END) AS DATETIME)) AS fecha
FROM Orden_envio;
En esencia va a funcionar, erpo puede darte problemas con en ELSE. por eso el ELSE tiene que devolver un string distinto.
Cita:
SELECT n_envio, guia_cliente,
DATE(CAST((CASE WHEN recepcion_conforme =1 THEN fecha_visita1
WHEN recepcion_conforme2=1 THEN fecha_visita2
WHEN recepcion_conforme3=1 THEN fecha_visita3
ELSE '0000-00-00 00:00:00'
END) AS DATETIME)) AS fecha
FROM Orden_envio;
  #5 (permalink)  
Antiguo 18/12/2007, 10:44
 
Fecha de Ingreso: noviembre-2006
Ubicación: Trenque Lauquen
Mensajes: 82
Antigüedad: 17 años, 5 meses
Puntos: 0
De acuerdo Re: Convertir Tipos De Campos

Funciono perfecto, muchas gracias por la ayuda!!
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 13:52.