4. gyakorlat
1-es indexelés, for whatever reason
- UPPER
- LOWER
- LENGTH
- ROUND/TRUNC/MOD
- SYSDATE - rendszeridő
- TO_CHAR(sysdate, 'yyyy-Month-dd')
- MONTHS_BETWEEN
- ADD_MONTHS
- NEXT_DAY
- LAST_DAY
FELADATOK
1. feladat
Kik azok, akik 1982. 01. 01. után léptek be a céghez.
2. feladat
Adjuk meg azon dolgozók nevét, akiknek nevének második betűje nagy A betű.
két megoldás szükséges: függvényes és függvény nélküli
3. feladat
Adjuk meg azon dolgozók nevét, akik nevében van legalább 2 'L' betű.
Szintén két megoldás
SELECT dnev
FROM dolgozo
WHERE dnev LIKE '%L%L%';
SELECT dnev
FROM dolgozo
WHERE INSTR(dnev, 'L', 1, 2) > 0;
4. feladat
Adjuk meg a dolgozók nevét, fizetését, és ábrázoljuk a fizetésüket úgy, hogy a fizetést $1000-ra kerekítve, minden $1000-t egy '#' jel jelöl.
SELECT dnev, fizetes, NVL(RPAD('#', TRUNC(fizetes, -3)/1000, '#'), ' ') grafikus_abrazolas
FROM dolgozo
ORDER BY fizetes ASC;
5. feladat
Adjuk meg, hogy milyen napra esett KING belépési dátuma hónapjának utolsó napja.
6. feladat
Adjuk meg azokat a (név, főnök) párokat, ahol a két ember neve ugyanannyi betűből áll.
SELECT '(' || d1.dnev || ', ' || d2.dnev || ')' paros
FROM dolgozo d1, dolgozo d2
WHERE d1.fonoke = d2.dkod AND
length(d1.dnev)=length(d2.dnev);
7. feladat
ÚJ TÁBLA
CREATE TABLE fiz_kategoria AS SELECT * FROM nikovits.fiz_kategoria;
Adjuk meg azon osztályok nevét és telephelyét, amelynek van 1-es fizetési kategóriájú dolgozója.