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

Comparando fechas en MySQL

Estas en el tema de Comparando fechas en MySQL en el foro de Bases de Datos General en Foros del Web. Hola amigos!! Necesito saber como puedo comparar fechas en MySQL. En mi base de datos, tengo un campo llamado fecha que es de tipo datetime, ...
  #1 (permalink)  
Antiguo 21/05/2004, 10:37
 
Fecha de Ingreso: mayo-2004
Mensajes: 7
Antigüedad: 20 años
Puntos: 0
Comparando fechas en MySQL

Hola amigos!!

Necesito saber como puedo comparar fechas en MySQL.

En mi base de datos, tengo un campo llamado fecha que es de tipo datetime, es decir, con el formato yyyy-mm-dd hh:mm:ss

Lo que quiero saber es si tengo algun registro en mi base de datos con fecha para un anio determinado.
Por ejemplo, yo quiero insertar un nuevo registro para el 2004-06-15 12:00:00, pero antes de insertarlo tengo que saber si ya tengo algun registro para el anio 2004. La sentencia que utilizo es la siguiente:
SELECT * FROM tabla WHERE fecha_que_quiero_insertar >= "2004-1-1 24:00" AND fecha_que_quiero_insertar <= "2004-12-31 23:59"

Es decir, selecciono todos los registros que tengan fecha entre el 1 de enero del 2004 y el 31 de diciembre del 2004. El problema es que no solo me devuelve los registros con fecha del 2004, sino tambien aquellos con fecha inferior al 2004 (2003, 2002 ...)

Como puedo hacer para que solo me devuelva los que estan dentro del anio 2004??

Muchas gracias por vuestra ayuda.
  #2 (permalink)  
Antiguo 21/05/2004, 11:17
 
Fecha de Ingreso: mayo-2004
Ubicación: Valladolid (Spain)
Mensajes: 81
Antigüedad: 20 años
Puntos: 0
Puedes intentar hacerlo con la función Year.

Por ejemplo:
SELECT * FROM tabla WHERE Year(Fecha_que_quieres_insertar)=Year(GETDATE()), donde GETDATE es la fecha del sistema, la fecha actual

o también puedes comparar directamente con 2004:
SELECT * FROM tabla WHERE Year(Fecha_que_quieres_insertar)='2004'

Espero que te sirva de algo
  #3 (permalink)  
Antiguo 21/05/2004, 11:52
 
Fecha de Ingreso: mayo-2004
Mensajes: 7
Antigüedad: 20 años
Puntos: 0
Gracias!!

Es justo lo que necesitaba, ya funciona.

Saludos
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 11:57.