Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
2
respuestas

[Sugerencia] 5.5 Edad de los Clientes -2 alternativas.

Hola...

Les comparto dos opciones, la segunda es la más profesional con el TIMESTAMPDIFF. La lo estuve probando. Inclusive, si la persona le faltara un día para cumplir años. Ese año NO se incluye en los cálculos. Es decir, se requieren años perfectamente completos.

USE jugos_ventas;
SELECT
    NOMBRE,
    DATEDIFF(CURRENT_DATE, FECHA_DE_NACIMIENTO)/365.25 AS EDAD_APROXIMADA,
    TIMESTAMPDIFF(YEAR, FECHA_DE_NACIMIENTO, CURRENT_DATE) AS EDAD	
FROM tabla_de_clientes;

Estuve revisando las soluciones de otros compañeros como por ejemplo:

use jugos_ventas;
select nombre, (year(curdate()) - year(fecha_de_nacimiento)) as edad from tabla_de_clientes;

El código es totalmente incorrecto ya que a pesar de que a las personas les falte algunos meses para cumplir un año más de edad, el código incluirá ese año adicionalmente en forma incorrecta. E inclusive si les faltara un día para cumplir años, el código ya lo incluiría. TENGAN MUCHO CUIDADO.

2 respuestas

Hola Miguel,

Gracias por compartir tus observaciones y sugerencias. Tienes toda la razón al señalar que el uso de TIMESTAMPDIFF es más preciso para calcular la edad actual de una persona, ya que considera solo los años completos y no incluye años incompletos. Esto es especialmente importante cuando se busca precisión en los cálculos de edad.

El método alternativo que mencionaste, (year(curdate()) - year(fecha_de_nacimiento)), efectivamente puede dar resultados incorrectos, ya que no tiene en cuenta si la persona ya ha cumplido años en el año actual.

Tu enfoque utilizando TIMESTAMPDIFF es el más adecuado para obtener la edad actual y precisa de los clientes. Aquí está tu consulta para referencia:

USE jugos_ventas;
SELECT
    NOMBRE,
    TIMESTAMPDIFF(YEAR, FECHA_DE_NACIMIENTO, CURRENT_DATE) AS EDAD
FROM tabla_de_clientes;

Este método es el más recomendado para situaciones en las que la precisión es crucial. Espero que esta información te sea útil y continúes disfrutando del aprendizaje de SQL.

Espero haber ayudado y buenos estudios!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!

Gracias por los comentarios-