Databázy - cvičenie - 2. týždeň

Created: 2008-09-24 - 17:33


USE [UPJS];
GO

--IF DB_ID (N'UPJS') IS NOT NULL    -- IF  EXISTS (SELECT name FROM sys.databases WHERE name = N'UPJS')
--BEGIN
--  RAISERROR('- DB UPJS Drop ...',0,1)
--  DROP DATABASE UPJS
--END
--GO
--
--RAISERROR('- DB UPJS Create ....',0,1)
--CREATE DATABASE UPJS;
--GO -- nutne
--
--RAISERROR('- DB UPJS Created.',0,1)

--USE UPJS;
--GO

--IF OBJECT_ID (N'dbo.student') IS NOT NULL
--BEGIN
--  RAISERROR('- Drop Tab student.',0,1)
--  DROP TABLE dbo.student
--END
--GO

--DROP TABLE student;
--
--CREATE TABLE student
--(
--	meno		VARCHAR(10),
--	priezvisko	VARCHAR(15),
--	pohlavie	CHAR(1),
--	datum_narodenia DATETIME,
--	rocnik		INT,
--	priemer	DEC(3,2)
--);
--
--INSERT student VALUES('Jan',	'Hrasko',	'm', '1987.7.12',  1, 1.83)
--INSERT student VALUES('Ruzena',	'Sıpova',	'z', '1984.2.1',  1, 1.22)
--INSERT student VALUES('Aladar',	'Baba',		'm', '1980.1.22', 2, 2.03)
--INSERT student VALUES('Ferdinand','Mravec',	'm', '1984.3.3',  3, 1.00)
--INSERT student VALUES('Jan',	'Polienko',	'm', '1982.4.14', 5, 2.28)
--INSERT student VALUES('Juraj',	'Trulo',	'm', '1979.7.16', 1, 3.00)
--INSERT student VALUES('Jana',	'Botkova',	'z', '1977.9.21', 4, 1.50)
--INSERT student VALUES('Dana',	'Botkova',	'z', '1977.9.21', 4, 1.40)
--INSERT student VALUES('Jan',	'Hlupy',	'm', NULL,	     2, 3.00)
--INSERT student VALUES('Aladar',	'Miazga',	'm', '1987.12.22',3, 2.06)
--INSERT student VALUES('Mikulas','Mysiak',	'm', '1983.6.6',  5, 1.66)
--INSERT student VALUES('Donald',	'Kacer',	'm', '1982.10.7', 5, 1.83)
--INSERT student VALUES('Jozef',	'Namornık',	'm', '1981.9.23', 2, 2.90)

--SELECT * FROM student
--	ORDER BY 3, priezvisko  -- 3=pohlavie


--PRIKAZ CASE - 2 alternativy:

--SELECT meno+' '+ priezvisko, CASE pohlavie
--	WHEN 'm' THEN 'Muz'
--	WHEN 'z' THEN 'Zena'
--	ELSE 'Musite zadat m alebo z'
--END
--FROM student;

--SELECT meno+' '+priezvisko, CASE 
--	WHEN pohlavie='m' THEN 'Muz'
--	WHEN pohlavie='z' THEN 'Zena'
--	ELSE 'Musite zadat m alebo z'
--END
--FROM student;

--SELECT * from student WHERE YEAR(datum_narodenia) < 1980;

--SELECT * from student WHERE YEAR(datum_narodenia) BETWEEN 1980 AND 1985;

--SELECT * from student WHERE MONTH(datum_narodenia) <= 12; --nevracia null hodnotu

--SELECT * from student WHERE MONTH(datum_narodenia) = 9 AND DAY(datum_narodenia) BETWEEN 10 AND 30;

--SELECT * from student WHERE DATEPART(weekday,datum_narodenia)= 2-1; --kto sa narodil v 2. den / pocita sa od nedele
--ak chceme zmenit ktorym dnom sa zacina tak SET DATEFIRST 1;

--SET DATEFIRST 1;
--SELECT * from student WHERE DATEPART(weekday, datum_narodenia) = 2;

--defaultne je 7 (ekvivalentne riesenie)
--SET DATEFIRST 7;
--SELECT * from student WHERE DATEPART(weekday, datum_narodenia-1) = 2;

--SET DATEFIRST 7;
--SET LANGUAGE SLOVAK; --nastavenie jazyka
--SELECT DATENAME(weekday, datum_narodenia) FROM student;

--SELECT meno,priezvisko, YEAR(GETDATE()) - YEAR(datum_narodenia) FROM STUDENT; --ako zistit vek (1. cesta)
--SELECT meno,priezvisko,DATEDIFF(YEAR,datum_narodenia,GETDATE()) FROM STUDENT; --ako zistit vek (2. cesta)

--SELECT DATEPART(dayofyear,GETDATE()); --den v roku
--SELECT DATEDIFF(dy,'2008',GETDATE()+1); --2. alternativa
--SELECT DATEDIFF(dy,CAST(DATEPART(YEAR,GETDATE()) AS CHAR)+'.1.1',GETDATE()+1); --3. alternativa (najlepsia)