Schema
Owner
postgres
Descriptions
Procédure qui retourne une valeur normalisée représentant un nombre de minutes pour l'intervalle passé en paramètre.
Options
Option | Value |
---|---|
Returns |
integer |
Language |
|
Parameters |
interval_param interval |
Definition
CREATE OR REPLACE FUNCTION public.ps_normalise_interval (
interval_param interval
)
RETURNS integer AS
$span$
DECLARE
nb_jour REAL;
nb_heure REAL;
nb_minute REAL;
BEGIN
SELECT date_part('day' ::text, interval_param ::"interval")
into nb_jour;
SELECT date_part('hour' ::text, interval_param ::"interval")
into nb_heure;
SELECT date_part('minute' ::text, interval_param ::"interval")
into nb_minute;
if nb_jour > 0 THEN
return 0;
end if;
if ((nb_heure = 6) and (nb_minute < 7)) or ((nb_heure = 5) and (
nb_minute > 53)) then
return 360;
end if;
if ((nb_heure = 4) and (nb_minute < 7)) or ((nb_heure = 3) and (
nb_minute > 53)) then
return 240;
end if;
if ((nb_heure = 3) and (nb_minute < 7)) or ((nb_heure = 2) and (
nb_minute > 53)) then
return 180;
end if;
if ((nb_heure = 1) and (nb_minute < 7)) or ((nb_heure = 0) and (
nb_minute > 53)) then
return 60;
end if;
if ((nb_heure = 0) and (nb_minute < 14) and (nb_minute > 6)) then
return 10;
end if;
return 0;
EXCEPTION
WHEN OTHERS THEN
raise notice 'interval : %', interval_param;
return 99;
END;
$span$
LANGUAGE 'plpgsql'
VOLATILE
CALLED ON NULL INPUT
SECURITY INVOKER
COST 100;
COMMENT ON FUNCTION public.ps_normalise_interval(interval_param interval)
IS 'Procédure qui retourne une valeur normalisée représentant un nombre de minutes pour l''intervalle passé en paramètre.';
This file was generated with SQL Manager for PostgreSQL (www.pgsqlmanager.com) at 13/03/2014 13:23 |