elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  Convertir un campo de texto
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Convertir un campo de texto  (Leído 2,220 veces)
narillos

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Convertir un campo de texto
« en: 1 Septiembre 2015, 23:16 pm »

Hola tento una tabla dentro de una bd llamada "centro"  (donde hay un listado de centros de alumnos) y otra tabla llamada "visitacentro" donde hay una "fecha" (que en realidad es un texto donde pongo dd/mm/aaaa porque me he vuelto loco con las fechas y al final las introduzco tipo texto) y los diferentes "centros"  centros visitados por fecha. Puede haber un centro no visitado que no estaría o un centro visitado varias veces.

Quisiera hacer una consulta donde me pusiese  todos los centros de la tabla centro pero que fuese a visitacentro y buscara la última "fecha" de visita de ese centro.

¿Podría de algún modo transformar la fecha visita que tendrá siempre valor dd/mm/aaaa (pero que es texto) a formato fecha?  ¿Esto se podría hacer de alguna forma en phpmyadmin?

¿Cómo podría decirle si un "centro" está varias veces en "visitacentro" ponme la fecha más alta (Es decir la más cercana a hoy).

A ver si me podeis orientar.


En línea

someRandomCode

Desconectado Desconectado

Mensajes: 250



Ver Perfil
Re: Convertir un campo de texto
« Respuesta #1 en: 2 Septiembre 2015, 00:08 am »

Podes hacer un UNION SELECT con un ORDER BY..
En cuanto a transformar hay formas si, tenes tanto CAST como CONVERT.
Desde phpMyAdmin lo vas a poder hacer, confeccionando previamente el SQL y ejecutandolo.


En línea

0roch1

Desconectado Desconectado

Mensajes: 123



Ver Perfil
Re: Convertir un campo de texto
« Respuesta #2 en: 5 Septiembre 2015, 03:09 am »

Si estás trabajando en mysql puedes hacer lo siguiente.

Convertir fecha tipo texto (varchar) a tipo fecha (date)
Código
  1. SELECT STR_TO_DATE(centro_fecha, '%d/%m/%Y') FROM visitacentro;
  2.  

Suponiendo que el formato de la fecha tipo texto está como dd/mm/aaaa

Para obtener la fecha más reciente visitada en cada centro puedes hacerlo así.

Código
  1. SELECT centro_id, MAX(STR_TO_DATE(centro_fecha, '%d/%m/%Y')) FROM visitacentro GROUP BY centro_id;
  2.  


Si quieres consultar campos de la tabla centro puedes hacerlo con JOIN pero yo te recomiendo Subquerys.

Código
  1.  
  2. SELECT c.centro_id, c.centro_nombre, MAX(STR_TO_DATE(vc.centro_fecha, '%d/%m/%Y')) FROM centro AS c, visitacentro AS vc WHERE c.centro_id=vc.centro_id GROUP BY vc.centro_id;
  3.  

Otra forma..
Código
  1.  
  2. SELECT c.centro_id, c.centro_nombre, MAX(STR_TO_DATE(vc.centro_fecha, '%d/%m/%Y')) FROM centro AS c, visitacentro AS vc GROUP BY vc.centro_id;
  3.  


Otra forma...
Código
  1. SELECT *
  2. FROM centro AS c, visitacentro AS vc1
  3. WHERE (STR_TO_DATE(vc1.centro_fecha, '%d/%m/%Y')) = (SELECT MAX(STR_TO_DATE(vc2.centro_fecha, '%d/%m/%Y'))
  4.                 FROM visitacentro AS vc2
  5.                 WHERE vc2.centro_id = vc1.centro_id) AND c.centro_id=vc1.centro_id;
  6.  

Con inner join

Código
  1. SELECT c.centro_id, MAX(STR_TO_DATE(vc.centro_fecha, '%d/%m/%Y')) AS fecha FROM centro AS c INNER JOIN visitacentro AS vc ON c.centro_id=vc.centro_id GROUP BY vc.centro_id
  2.  

Espero te sirva de ayuda.

Saludos.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
como agregar imagen a campo de texto dinamico?
Diseño Gráfico
Azielito 2 6,294 Último mensaje 29 Octubre 2006, 22:40 pm
por Azielito
Campo de texto
PHP
Kizar 2 2,362 Último mensaje 17 Octubre 2007, 18:48 pm
por Kizar
completar campo de texto en php o html desde VB
Programación Visual Basic
CVZ 1 4,112 Último mensaje 3 Abril 2010, 15:29 pm
por seba123neo
cifrar campo numérico en un archivo de texto
Scripting
eolh652 4 3,257 Último mensaje 3 Septiembre 2013, 17:39 pm
por Almapa
Duda: Como convertir texto a texto grande para mostrar en la consola.
Dudas Generales
zinfinal 4 4,079 Último mensaje 23 Abril 2014, 18:32 pm
por Pablo Videla
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines