mysql

Las funciones en Mysql aportan ventajas importantes en la ejecución de tareas de lado del servidor en entornos de producción exigentes en los tiempos de respuesta experimentados por los usuarios, En muchas ocasiones suele ser mas provechoso tener funciones con las ordenes a ejecutar en el SGBD, que procesar los datos desde un lenguaje de programación desde el servidor, veamos en este ejemplo que puede ser utilizado en cualquier tipo de proyecto que emplee una base de datos como calcular edad en Mysql.

Calcular edad en Mysql

En esta ocasión veremos una función en MYSQL la cual tiene la capacidad de calcular la edad pasando como parámetro una fecha, teniendo en cuenta la estructura y uso de variables dentro de la función tendremos una guía para la realización de futuras funciones con tareas mas elaboradas y mucho mas complicadas en nuestras bases de datos veamos:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
DELIMITER $$
USE `bd`$$
DROP FUNCTION IF EXISTS `calc_edad`$$
CREATE DEFINER=`root`@`%` FUNCTION `calc_edad`(fecha DATETIME) RETURNS VARCHAR(10) CHARSET utf8
READS SQL DATA
BEGIN
DECLARE edad VARCHAR (10);
SELECT IF(
TIMESTAMPDIFF(YEAR,TIMESTAMP(fecha),TIMESTAMP(NOW()))<=0,
(IF(
TIMESTAMPDIFF(MONTH,TIMESTAMP(fecha),TIMESTAMP(NOW()))<=0,
(IF(
TIMESTAMPDIFF(DAY,TIMESTAMP(fecha),TIMESTAMP(NOW()))<=0,
(CONCAT(TIMESTAMPDIFF(HOUR,TIMESTAMP(fecha),TIMESTAMP(NOW())),‘ Horas’)),
(CONCAT(TIMESTAMPDIFF(DAY,TIMESTAMP(fecha),TIMESTAMP(NOW())),‘ Dias’))
)),
(CONCAT(TIMESTAMPDIFF(MONTH,TIMESTAMP(fecha),TIMESTAMP(NOW())),‘ Meses’))
)),
(CONCAT(TIMESTAMPDIFF(YEAR,TIMESTAMP(fecha),TIMESTAMP(NOW())),‘ Años’))
)
INTO edad;
RETURN edad;
END$$
DELIMITER ;

para llamar la función solo hace falta hacer un select referenciando a esta así:

1
SELECT calc_edad(‘1988-09-09’);

Amplía tus conocimientos visitando la sección de MySQL, en la cual encontrarás más consultas en este lenguaje para bases de datos.

Un comentario en «Calcular edad en Mysql, Función para calcular edad en Mysql»
  1. podrías ayudarme con un ejercicio que tengo que entregar, solo me queda la validación de tres datos
    Los puntos a tomar en cuenta son:
    ● Todo pasajero menor de edad debe quedar al lado de al menos uno de sus acompañantes mayores de edad (se
    puede agrupar por el id de la compra).
    ● Si una compra tiene, por ejemplo, 4 tarjetas de embarque, tratar en lo posible que los asientos que se asignen
    estén juntos, o queden muy cercanos (ya sea en la fila o en la columna).
    ● Si una tarjeta de embarque pertenece a la clase “económica”, no se puede asignar un asiento de otra clase.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

×