GetDateRus
Материал из iDempiere ru
Функция возвращает дату в формате - "8 декабря 2014г."
CREATE OR REPLACE FUNCTION GetDateRus(TIMESTAMP WITH TIME ZONE)
RETURNS CHARACTER VARYING AS
$BODY$
/** @author @kinerix Anna Smirnova */
DECLARE pDate DATE := $1;
DECLARE vMM CHARACTER(2);
DECLARE vDD CHARACTER VARYING(2);
DECLARE vYY CHARACTER(4);
DECLARE vMonth CHARACTER VARYING(10);
DECLARE DateRus CHARACTER VARYING(20);
BEGIN
vDD = (SELECT CAST(CAST(to_char(pDate, 'dd') as NUMERIC) as CHARACTER VARYING(2)) );
vMM = (SELECT to_char(pDate, 'MM') );
vYY = (SELECT to_char(pDate, 'YYYY') );
IF vMM = '01' THEN vMonth = 'января'; END IF;
IF vMM = '02' THEN vMonth = 'февраля'; END IF;
IF vMM = '03' THEN vMonth = 'марта'; END IF;
IF vMM = '04' THEN vMonth = 'апреля'; END IF;
IF vMM = '05' THEN vMonth = 'мая'; END IF;
IF vMM = '06' THEN vMonth = 'июня'; END IF;
IF vMM = '07' THEN vMonth = 'июля'; END IF;
IF vMM = '08' THEN vMonth = 'августа'; END IF;
IF vMM = '09' THEN vMonth = 'сентября'; END IF;
IF vMM = '10' THEN vMonth = 'октября'; END IF;
IF vMM = '11' THEN vMonth = 'ноября'; END IF;
IF vMM = '12' THEN vMonth = 'декабря'; END IF;
DateRus = (SELECT concat(vDD, ' ', vMonth, ' ', vYY, 'г.') );
RETURN DateRus;
END;
$BODY$
LANGUAGE plpgsql VOLATILE;
ALTER FUNCTION GetDateRus(TIMESTAMP WITH TIME ZONE)
OWNER TO adempiere;
-------------------------------------------------------
-- SELECT GetDateRus(now());
-------------------------------------------------------
