Ver Mensaje Individual
  #2 (permalink)  
Antiguo 24/05/2011, 06:06
Avatar de gnzsoloyo
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 registros de una fecha en particular

Porque STR_TO_DATE() transforma una fecha en una cadena, en base a un formato determinado.
Lo que te conviene usar es simplemente YEAR() y MONTH sobre la columna de la tabla y compararlos con los valores ingresados, pero procura hacerlo de modo que los valores queden com onúmeros uy no como cadenas (todos los lenguajes tienen funciones para parseralos como tales).
O sea, algo así:
Código MySQL:
Ver original
  1. FROM tabla
  2. WHERE YEAR(fechaTS) = 2011 AND MONTH(fechaTS) = 5;
La idea de que no uses comparaciones de cadena es para no obligar a MySQL a realizar conversiones implícitas de tipo de dato.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)