"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo calcular la diferencia de edad en años como un número entero en MySQL?

¿Cómo calcular la diferencia de edad en años como un número entero en MySQL?

Publicado el 2024-12-23
Navegar:876

 How to Calculate Age Difference in Years as an Integer in MySQL?

Calcular la diferencia de edad en años como un número entero en MySQL

Determinar la edad de una persona en una base de datos presenta un ligero desafío cuando se trata de cálculos de edad . Considere la tabla 'estudiante' con las columnas 'id' y 'fecha_nacimiento'.

Para calcular la edad en días, se puede usar la expresión dateiff(curdate(),birth_date), pero devuelve un valor de punto flotante . Dividir entre 365 también produce un valor de punto flotante.

Calcular años como año(curdate())-año(birth_date) también presenta un problema. Por ejemplo, si una persona nació en junio de 1970 y la fecha actual es mayo, la expresión devolvería incorrectamente 32 años en lugar de 31.

Solución alternativa para la diferencia de años enteros:

Para solucionar este problema, considere la siguiente declaración SQL:

SELECT TIMESTAMPDIFF(YEAR, date_of_birth, CURDATE()) AS difference FROM student

Esta expresión calcula la diferencia entre 'fecha_de_nacimiento' y 'CURDATE()' en años, lo que da como resultado un valor entero.

Extensión para meses y días:

Para calcular la diferencia en meses, reemplace 'AÑO' con 'MES' en el expresión:

SELECT TIMESTAMPDIFF(MONTH, date_of_birth, CURDATE()) AS difference FROM student

De manera similar, para la diferencia en días, reemplace 'AÑO' con 'DÍA':

SELECT TIMESTAMPDIFF(DAY, date_of_birth, CURDATE()) AS difference FROM student
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3