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()); -------------------------------------------------------