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

obtener el año de un campo date

Estas en el tema de obtener el año de un campo date en el foro de Mysql en Foros del Web. Hola mi consulta es precisa... tengo una tabla donde se almacenan comentarios que los usuarios realizan en una web.. En esta tabla se almacena: el ...
  #1 (permalink)  
Antiguo 21/12/2007, 00:44
 
Fecha de Ingreso: febrero-2007
Mensajes: 70
Antigüedad: 17 años, 9 meses
Puntos: 1
obtener el año de un campo date

Hola

mi consulta es precisa... tengo una tabla donde se almacenan comentarios que los usuarios realizan en una web..
En esta tabla se almacena: el usuario que realizó el comentario, el título del comentario, y por último la fecha en la cual el comentario fue realizado... nada del otro mundo.

El campo en el cual se almacena la fecha es del tipo DATE (año-mes-dia) (XXXX-XX-XX)

mi duda es la siguiente: Existe alguna forma de borrar todos los comentarios realizados el año 2007 ???

necesito hacer esto y de preferencia sin tener que agregar un nuevo atributo a la tabla, por que la solución que hasta ahora se me ocurre es agregar un nuevo campo que solo almacene el año, pero no me convence

de antemano gracias y saludos
  #2 (permalink)  
Antiguo 21/12/2007, 02:05
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 9 meses
Puntos: 772
Re: obtener el año de un campo date

Hola mreyesb

Creo que sería algo así:

Código:
DELETE FROM tutabla WHERE YEAR(tufecha)=2007
Saludos,
  #3 (permalink)  
Antiguo 21/12/2007, 08:31
Avatar de pragone  
Fecha de Ingreso: diciembre-2007
Ubicación: Madrid
Mensajes: 223
Antigüedad: 16 años, 11 meses
Puntos: 2
Re: obtener el año de un campo date

Simplemente para agregar un poco a la discusión, te recomiendo que siempre uses el EXPLAIN para ver si tu SQL es lo mejor que se puede.

Te digo esto porque en ocasiones aplicar funciones sobre un campo (a la hora de hacer un WHERE) imposibilitan el uso de algún índice que tengas sobre el campo para acelerar la query.

En ocasiones, entonces, es mejor hacer un
DELETE FROM tutabla WHERE tufecha>='2007-01-01 00:00:00" and tufecha<'2008-01-01 00:00:00';

Con el query anterior creo que no hay pérdida de eficiencia, pero ten siempre presente tips como este.
  #4 (permalink)  
Antiguo 21/12/2007, 10:37
 
Fecha de Ingreso: febrero-2007
Mensajes: 70
Antigüedad: 17 años, 9 meses
Puntos: 1
Re: obtener el año de un campo date

Fantastico.. muy agradecido, ambas respuestas muy buenas.. gracias a los dos, me quedo mas que claro

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 22:26.