Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/09/2011, 08:52
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 9 meses
Puntos: 447
Respuesta: resta de fechas para saber edad en mysql

Hola Lexus:

Hay varias formas para calcular la edad, con MySQL, una de ellas sería así:

Código:
TIMESTAMPDIFF(YEAR, fecha_nacimiento, CURDATE())
Checa el siguiente script:

Código MySQL:
Ver original
  1. mysql> CREATE TABLE edades (id VARCHAR(10), fecha_nacimiento DATE);
  2. Query OK, 0 rows affected (0.14 sec)
  3.  
  4. mysql> INSERT INTO edades VALUES ('uno', '1980-08-14'), ('dos', '1980-09-25'),
  5.     -> ('tres', '1980-09-26'),('cuatro', '1980-09-27');
  6. Query OK, 4 rows affected (0.03 sec)
  7. Records: 4  Duplicates: 0  Warnings: 0
  8.  
  9. mysql> SELECT id, fecha_nacimiento,
  10.     -> TIMESTAMPDIFF(YEAR, fecha_nacimiento, CURDATE()) AS edad
  11.     -> FROM edades;
  12. +--------+------------------+------+
  13. | id     | fecha_nacimiento | edad |
  14. +--------+------------------+------+
  15. | uno    | 1980-08-14       |   31 |
  16. | dos    | 1980-09-25       |   31 |
  17. | tres   | 1980-09-26       |   31 |
  18. | cuatro | 1980-09-27       |   30 |
  19. +--------+------------------+------+
  20. 4 rows in set (0.00 sec)
  21.  
  22. mysql> SELECT TIMESTAMPDIFF(YEAR, fecha_nacimiento, CURDATE()) AS edad,
  23.     -> COUNT(*)
  24.     -> FROM edades GROUP BY edad;
  25. +------+----------+
  26. | edad | COUNT(*) |
  27. +------+----------+
  28. |   30 |        1 |
  29. |   31 |        3 |
  30. +------+----------+
  31. 2 rows in set (0.00 sec)

Saludos
Leo