Ver Mensaje Individual
  #3 (permalink)  
Antiguo 18/01/2010, 10:16
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: crear campo haciendo una consulta

ferranweb,
lo primero es decirte que no deberías tener en una base de datos un campo de fecha_nacimiento con el formato 17 de Enero de 2009. Deberías procurar crear un nuevo campo de tipo DATE y trasladar los datos a él escribiéndolos con el formato 2009-01-17.
Podrías usar varios trucos para conseguirlo. Uno de ellos sería sustituir Enero por -01-
Febrero -02-
y así hasta diciembre por -12-
Luego eliminas todos los caracteres a, b, c, d, hasta z. y por supuesto los espacios en blanco, y te quedará 17-01-2009, 3-04-1984,
etc.
Luego podremos hacer un cambio mediante str_to_date() para obtener la fecha en el otro formato y pasarlo a un campo date. Si quieres ayuda podremos ofrecértela.

Pero volvamos a lo que pides: puedes, si siempre tienes el año al final, extraerlo así
SELECT SUBSTRING(fecha_nacimiento, -4) FROM tutabla
Esto te mostrará todos los años. Si vas a comparar con numéricos podríamos usar
SELECT CAST(SUBSTRING(fecha_nacimiento, -4) AS UNSIGNED) FROM tutabla

Edito: se me adelantó huesos52.

Última edición por jurena; 18/01/2010 a las 15:29