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

[SOLUCIONADO] Obtener resultado de fecha hoy

Estas en el tema de Obtener resultado de fecha hoy en el foro de Mysql en Foros del Web. Buenas tengo una tabla con tipo de fecha datetime y cuando quiero sacar el resultado de la fecha hoy realizo está consulta: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código ...
  #1 (permalink)  
Antiguo 27/04/2014, 02:16
Avatar de MaNuX0218  
Fecha de Ingreso: marzo-2014
Mensajes: 787
Antigüedad: 10 años, 1 mes
Puntos: 67
Obtener resultado de fecha hoy

Buenas tengo una tabla con tipo de fecha datetime y cuando quiero sacar el resultado de la fecha hoy realizo está consulta:

Código MySQL:
Ver original
  1. SELECT SUM(cantidad) AS cantidad FROM tabla WHERE DATE(fecha) = DATE(NOW())

Y me daria la cantidad de la fecha de hoy solamente.

Pero ahora la pregunta es: ¿Cómo ago para que si el campo esta en vez de datetime, está en formato time()? ¿Cómo devería hacer la consulta?

Saludos.

Última edición por gnzsoloyo; 27/04/2014 a las 07:59 Razón: Codigo de programación no permitido en foros de BBDD
  #2 (permalink)  
Antiguo 27/04/2014, 06:04
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: Obtener resultado de fecha hoy

Un campo de tipo TIME no guarda fechas, por lo que no puedes diferenciar los registros de hoy de lo diez años atras basándote en ese datos.
Necesitarías sí o sí otro campo con la fecha.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 27/04/2014, 06:34
Avatar de MaNuX0218  
Fecha de Ingreso: marzo-2014
Mensajes: 787
Antigüedad: 10 años, 1 mes
Puntos: 67
Respuesta: Obtener resultado de fecha hoy

Si eso era la idea en caso de que no lo solucionará, crear otro campo y guardarlo en datetime, pero al tener el campo cojido con time() puedo sacar la fecha en formato date(), lo que no puedo realizar la consulta para fecha de hoy.

Saludos y gracias por contestar.
  #4 (permalink)  
Antiguo 27/04/2014, 08:04
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: Obtener resultado de fecha hoy

Un par de notas:
1) No es necesario complicar las funciones para obtener la fecha de hoy. MySQL tiene funciones específicas para eso.
En lugar de:
Código MySQL:
Ver original
  1. ...
  2. WHERE DATE(fecha) = DATE(NOW())
deberías usar
Código MySQL:
Ver original
  1. ...
  2. WHERE DATE(fecha) = CURDATE()

2) Si bien es conveniente un campo de tipo DATETIME, porque es mucho más abarcativo, para cumplir con lo que quieres alcanza con un campo DATE y otro TIME. Poner un TIME y un DATETIME al mismo tiempo no parece una buena idea, porque replicas datos entre dos campos (la parte de horas). Y siempre se debe evitar ese tipo de redundancias.

Nota: Cuando dices DATE() es la función de fecha y no el tipo de columna DATE (sin paréntesis). Tenlo en cuenta para las descripciones, de modo que no se confundan las ideas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 27/04/2014, 08:08
Avatar de MaNuX0218  
Fecha de Ingreso: marzo-2014
Mensajes: 787
Antigüedad: 10 años, 1 mes
Puntos: 67
Respuesta: Obtener resultado de fecha hoy

Muchas gracias por la info gnzsoloyo, alfinal e decidido en ponerlo en datetime la DB y quitar el cojerlo con time(), me ha funcionado igual y e podido cojer lo que queria (fecha hoy).

Un saludo.

Etiquetas: fecha
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:32.