Comunidad de diseño web y desarrollo en internet online

Operaciones con fechas MySQL

Citar            
MensajeEscrito el 03 Ene 2014 07:22 pm
Buenos dias,

Soy nuevo en MySQL y hay muchas cosas que recién estoy aprendiendo.
Tengo una duda, he buscado en Google y podría llegar a una respuesta, pero conlleva muchas operaciones, quisiera saber si hay una manera más rápida y fácil.

Tengo una tabla con tres campos: codigo, fecha_inicial y fecha_final

En esta tabla se graba un código por cada rango de fecha, por ejemplo:

codigo fecha_inicial fecha_final
1 2013/01/01 2013/02/15
2 2013/02/16 2013/02/25

Lo que necesito es mandarle una fecha, por ejemplo: 2013/01/10 y que regrese el codigo, que para el caso del ejemplo sería el 1.

La única forma que he encontrado hasta ahorita es restando años, luego meses y luego dias.. y haciendo comparaciones... pero hay algún método directo para lograr esto?

Muchas gracias

Por chochito_alegre

51 de clabLevel



Genero:Masculino  

Lima - Perú

firefox
Citar            
MensajeEscrito el 03 Ene 2014 08:49 pm
Por supuesto. Los campos que van a guardar fechas, deben ser tipo DATE (o DATETIME si además quieres almacenar la hora). El formato de la fecha debe ser ISO.

De forma tal que las fechas que has puesto quesarían como:
2013-01-01 2013-02-15 y 2013-02-16 2013-02-25.

En el ejemplo que mencionas, la sentencia SQL debería ser:

Código MySQL :

SELECT * FROM `tabla` WHERE ('2013-01-10' >= `fecha_inicial`) AND ('2013-01-10' <= `fecha_final`)

Devolverá todos los registros que cumplen la condición (en tu caso el único registro que cumple la condición es el que tiene el codigo = 1).

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 04 Ene 2014 03:53 am
DriverOp,

Eres lo máximo!!!!
Muchas gracias por la ayuda :)

Por chochito_alegre

51 de clabLevel



Genero:Masculino  

Lima - Perú

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.