MESICE_V_ROCE.SQL



/******************************************************/
/*  Vytvářecí skript:  MESICE_V_ROCE.SQL              */
/*  Datum:             13.2.2002                      */
/*  databáze:          ORACLE ver.8.1'                */
/*                                                    */
/*  Copyright:        (c) 2002 by MEDO Zdeněk jr.     */
/******************************************************/


CREATE OR REPLACE FORCE VIEW MESICE_V_ROCE
	(	ZACATEK_MES_DEN,
		ZACATEK_MES_DATUM,
		KONEC_MES_DEN,
		KONEC_MES_DATUM,
		POCET_DNI,
		NAZEV_MESICE,
		CISLO_MESICE
	)
	AS
		SELECT	to_char(ROUND(to_date('1.1.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY')),'DAY'),    ROUND(to_date('1.1.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY')),   to_char(ROUND(LAST_DAY(to_date('1.1.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY'))),'DAY'),    ROUND(LAST_DAY(to_date('1.1.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY'))),     to_number(to_char(ROUND(LAST_DAY(to_date('1.1.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY'))),'DD')),    'Leden',    01
		FROM	DUAL
		UNION
		ALL	SELECT	to_char(ROUND(to_date('1.2.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY')),'DAY'),    ROUND(to_date('1.2.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY')),   to_char(ROUND(LAST_DAY(to_date('1.2.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY'))),'DAY'),    ROUND(LAST_DAY(to_date('1.2.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY'))),     to_number(to_char(ROUND(LAST_DAY(to_date('1.2.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY'))),'DD')),    'Únor',    02
			FROM	DUAL
			UNION
			ALL	SELECT	to_char(ROUND(to_date('1.3.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY')),'DAY'),    ROUND(to_date('1.3.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY')),   to_char(ROUND(LAST_DAY(to_date('1.3.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY'))),'DAY'),    ROUND(LAST_DAY(to_date('1.3.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY'))),     to_number(to_char(ROUND(LAST_DAY(to_date('1.3.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY'))),'DD')),    'Březen',    03
				FROM	DUAL
				UNION
				ALL	SELECT	to_char(ROUND(to_date('1.4.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY')),'DAY'),    ROUND(to_date('1.4.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY')),   to_char(ROUND(LAST_DAY(to_date('1.4.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY'))),'DAY'),    ROUND(LAST_DAY(to_date('1.4.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY'))),     to_number(to_char(ROUND(LAST_DAY(to_date('1.4.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY'))),'DD')),    'Duben',    04
					FROM	DUAL
					UNION
					ALL	SELECT	to_char(ROUND(to_date('1.5.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY')),'DAY'),    ROUND(to_date('1.5.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY')),   to_char(ROUND(LAST_DAY(to_date('1.5.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY'))),'DAY'),    ROUND(LAST_DAY(to_date('1.5.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY'))),     to_number(to_char(ROUND(LAST_DAY(to_date('1.5.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY'))),'DD')),    'Květen',    05
						FROM	DUAL
						UNION
						ALL	SELECT	to_char(ROUND(to_date('1.6.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY')),'DAY'),    ROUND(to_date('1.6.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY')),   to_char(ROUND(LAST_DAY(to_date('1.6.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY'))),'DAY'),    ROUND(LAST_DAY(to_date('1.6.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY'))),     to_number(to_char(ROUND(LAST_DAY(to_date('1.6.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY'))),'DD')),    'Červen',    06
							FROM	DUAL
							UNION
							ALL	SELECT	to_char(ROUND(to_date('1.7.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY')),'DAY'),    ROUND(to_date('1.7.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY')),   to_char(ROUND(LAST_DAY(to_date('1.7.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY'))),'DAY'),    ROUND(LAST_DAY(to_date('1.7.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY'))),     to_number(to_char(ROUND(LAST_DAY(to_date('1.7.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY'))),'DD')),    'Červenec',    07
								FROM	DUAL
								UNION
								ALL	SELECT	to_char(ROUND(to_date('1.8.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY')),'DAY'),    ROUND(to_date('1.8.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY')),   to_char(ROUND(LAST_DAY(to_date('1.8.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY'))),'DAY'),    ROUND(LAST_DAY(to_date('1.8.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY'))),     to_number(to_char(ROUND(LAST_DAY(to_date('1.8.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY'))),'DD')),    'Srpen',    08
									FROM	DUAL
									UNION
									ALL	SELECT	to_char(ROUND(to_date('1.9.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY')),'DAY'),    ROUND(to_date('1.9.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY')),   to_char(ROUND(LAST_DAY(to_date('1.9.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY'))),'DAY'),    ROUND(LAST_DAY(to_date('1.9.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY'))),     to_number(to_char(ROUND(LAST_DAY(to_date('1.9.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY'))),'DD')),    'Září',    09
										FROM	DUAL
										UNION
										ALL	SELECT	to_char(ROUND(to_date('1.10.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY')),'DAY'),    ROUND(to_date('1.10.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY')),   to_char(ROUND(LAST_DAY(to_date('1.10.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY'))),'DAY'),    ROUND(LAST_DAY(to_date('1.10.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY'))),     to_number(to_char(ROUND(LAST_DAY(to_date('1.10.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY'))),'DD')),    'Říjen',    10
											FROM	DUAL
											UNION
											ALL	SELECT	to_char(ROUND(to_date('1.11.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY')),'DAY'),    ROUND(to_date('1.11.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY')),   to_char(ROUND(LAST_DAY(to_date('1.11.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY'))),'DAY'),    ROUND(LAST_DAY(to_date('1.11.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY'))),     to_number(to_char(ROUND(LAST_DAY(to_date('1.11.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY'))),'DD')),    'Listopad',    11
												FROM	DUAL
												UNION
												ALL	SELECT	to_char(ROUND(to_date('1.12.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY')),'DAY'),    ROUND(to_date('1.12.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY')),   to_char(ROUND(LAST_DAY(to_date('1.12.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY'))),'DAY'),    ROUND(LAST_DAY(to_date('1.12.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY'))),     to_number(to_char(ROUND(LAST_DAY(to_date('1.12.'||to_char(SYSDATE, 'YYYY'),'DD.MM.YYYY'))),'DD')),    'Prosinec',    12
													FROM	DUAL;




 -- Předchozí skript vytvoří pohled MESICE_V_ROCE,
 -- který vrací detailní údaje k měsícům v právě aktuálním roce viz.:

	SELECT	ZACATEK_MES_DEN,
		ZACATEK_MES_DATUM,
		KONEC_MES_DEN,
		KONEC_MES_DATUM,
		POCET_DNI,
		NAZEV_MESICE,
		CISLO_MESICE
	FROM	MESICE_V_ROCE;
		


zacatek_mes_den zacatek_mes_datum konec_mes_den konec_mes_datum pocet_dni nazev_mesice cislo_mesice
STŘEDA 1.1.2003 PÁTEK 31.1.2003 31 Leden 1
SOBOTA 1.2.2003 PÁTEK 28.2.2003 28 Únor 2
SOBOTA 1.3.2003 PONDĚLÍ 31.3.2003 31 Březen 3
ÚTERÝ 1.4.2003 STŘEDA 30.4.2003 30 Duben 4
ČTVRTEK 1.5.2003 SOBOTA 31.5.2003 31 Květen 5
NEDĚLE 1.6.2003 PONDĚLÍ 30.6.2003 30 Červen 6
ÚTERÝ 1.7.2003 ČTVRTEK 31.7.2003 31 Červenec 7
PÁTEK 1.8.2003 NEDĚLE 31.8.2003 31 Srpen 8
PONDĚLÍ 1.9.2003 ÚTERÝ 30.9.2003 30 Září 9
STŘEDA 1.10.2003 PÁTEK 31.10.2003 31 Říjen 10
SOBOTA 1.11.2003 NEDĚLE 30.11.2003 30 Listopad 11
PONDĚLÍ 1.12.2003 STŘEDA 31.12.2003 31 Prosinec 12



© Copyright 2002 by Zdeněk MEDO jr.