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)