SET TERM ^ ; create or alter procedure UTPR_PERIODTOSTR ( DATEBEG DM_DATETIME, DATEEND DM_DATETIME) returns ( SPERIOD DM_TEXT1024) as begin if (cast(:DATEBEG as dm_date)=cast('01.01.'||extract(year from cast(:DATEBEG as dm_date)) as dm_date) and cast(:DATEEND as dm_date)=cast('31.03.'||extract(year from cast(:DATEEND as dm_date)) as dm_date) and extract(year from cast(:DATEBEG as dm_date)) = extract(year from cast(:DATEEND as dm_date) )) then begin SPERIOD='I квартал '||extract(year from cast(:DATEBEG as dm_date))||' г.'; suspend; exit; end if (cast(:DATEBEG as dm_date)=cast('01.04.'||extract(year from cast(:DATEBEG as dm_date)) as dm_date) and cast(:DATEEND as dm_date)=cast('30.06.'||extract(year from cast(:DATEEND as dm_date)) as dm_date) and extract(year from cast(:DATEBEG as dm_date)) = extract(year from cast(:DATEEND as dm_date) )) then begin SPERIOD='II квартал '||extract(year from cast(:DATEBEG as dm_date))||' г.'; suspend; exit; end if (cast(:DATEBEG as dm_date)=cast('01.07.'||extract(year from cast(:DATEBEG as dm_date)) as dm_date) and cast(:DATEEND as dm_date)=cast('30.09.'||extract(year from cast(:DATEEND as dm_date)) as dm_date) and extract(year from cast(:DATEBEG as dm_date)) = extract(year from cast(:DATEEND as dm_date) )) then begin SPERIOD='III квартал '||extract(year from cast(:DATEBEG as dm_date))||' г.'; suspend; exit; end if (cast(:DATEBEG as dm_date)=cast('01.10.'||extract(year from cast(:DATEBEG as dm_date)) as dm_date) and cast(:DATEEND as dm_date)=cast('31.12.'||extract(year from cast(:DATEEND as dm_date)) as dm_date) and extract(year from cast(:DATEBEG as dm_date)) = extract(year from cast(:DATEEND as dm_date) )) then begin SPERIOD='IV квартал '||extract(year from cast(:DATEBEG as dm_date))||' г.'; suspend; exit; end SPERIOD= (select pr.s from utpr_datetostr(:datebeg) pr)||' - '||(select pr.s from utpr_datetostr(:dateend) pr)||' г.'; suspend; end^ SET TERM ; ^ /* Following GRANT statements are generated automatically */ GRANT EXECUTE ON PROCEDURE UTPR_DATETOSTR TO PROCEDURE UTPR_PERIODTOSTR; /* Existing privileges on this procedure */ GRANT EXECUTE ON PROCEDURE UTPR_PERIODTOSTR TO SYSDBA;