salix/db/routines/util/functions/yearRelativePosition.sql

30 lines
664 B
MySQL
Raw Normal View History

DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` FUNCTION `util`.`yearRelativePosition`(vYear INT)
RETURNS varchar(20) CHARSET utf8mb3 COLLATE utf8mb3_general_ci
DETERMINISTIC
BEGIN
/**
* Devuelve la posicion del año relativa al año actual.
* Se utiliza como cabecera en informes de balances.
*
* @param vYear Año a evaluar
* @return La posicion relativa del año
*/
DECLARE vCurYear INT DEFAULT YEAR(util.VN_CURDATE());
IF vYear = vCurYear THEN
RETURN 'curYear';
END IF;
IF vYear = vCurYear - 1 THEN
RETURN 'lastYear';
END IF;
IF vYear = vCurYear - 2 THEN
RETURN 'twoYearsAgo';
END IF;
RETURN 'other';
END$$
DELIMITER ;