Skip to content

Instantly share code, notes, and snippets.

@radimih
Created April 4, 2017 04:42
Show Gist options
  • Save radimih/3dd26c5f7fd1bdab3e62388c4aff7d7b to your computer and use it in GitHub Desktop.
Save radimih/3dd26c5f7fd1bdab3e62388c4aff7d7b to your computer and use it in GitHub Desktop.
MySQL: функция получения времени, кратному заданному интервалу
DROP FUNCTION IF EXISTS squid_log.get_interval;
CREATE FUNCTION `get_interval`(moment TIMESTAMP, lenght SMALLINT)
RETURNS TIME
DETERMINISTIC
COMMENT 'Получить время, кратное заданному интервалу'
BEGIN
/*******************************************************************************
* Получить время, кратное заданному интервалу
* -------------------------------------------
* Получить интервал времени, в котором находится заданный момент времени.
* Например, для интервала в 10 минут время 18:46 преобразуется в 18:40.
*
* Параметры:
* moment - заданный момент времени
* length - длина интервала в минутах
*
* Возврат: время
*******************************************************************************/
declare minutes smallint;
set minutes = lenght * (minute(moment) div lenght);
return maketime(hour(moment), minutes, 0);
END;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment