az oracle sql 3

25
2006. október 2. Markó Tamás, PTE TTK 1 Az Oracle SQL 3. Kifejezések. A legfontosabb függvények.

Upload: kin

Post on 21-Jan-2016

56 views

Category:

Documents


0 download

DESCRIPTION

Az Oracle SQL 3. Kifejezések. A legfontosabb függvények. A rádiótelefonokat kérem KIKAPCSOLNI!. Kifejezések. Aritmetikai operátorok. Szöveges operátorok. Hasonlító operátorok. Szöveges és dátum típusú adatokra is!. LIKE. Karakterlánc hasonlítása egy mintához - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Az  Oracle  SQL 3

2006. október 2. Markó Tamás, PTE TTK 1

Az Oracle SQL 3.

Kifejezések.

A legfontosabb függvények.

Page 2: Az  Oracle  SQL 3

2006. október 2. Markó Tamás, PTE TTK 2

A rádiótelefonokat kérem

KIKAPCSOLNI!

Page 3: Az  Oracle  SQL 3

2006. október 2. Markó Tamás, PTE TTK 3

Kifejezések

Page 4: Az  Oracle  SQL 3

2006. október 2. Markó Tamás, PTE TTK 4

Aritmetikai operátorok

+ Összeadás

- Kivonás

* Szorzás

/ Osztás

Page 5: Az  Oracle  SQL 3

2006. október 2. Markó Tamás, PTE TTK 5

Szöveges operátorok

|| Összefűzés (konkatenáció)

Page 6: Az  Oracle  SQL 3

2006. október 2. Markó Tamás, PTE TTK 6

Hasonlító operátorok= Egyenlő

!=, ^=, <> Nem egyenlő

< Kisebb

> Nagyobb

<= Kisebb vagy egyenlő

>= Nagyobb vagy egyenlő

IS NULL Értéke NULL

IS NOT NULL Értéke nem NULL

• Szöveges és dátum típusú adatokra is!

Page 7: Az  Oracle  SQL 3

2006. október 2. Markó Tamás, PTE TTK 7

LIKE

• Karakterlánc hasonlítása egy mintához

• Helyettesítő karakterek a mintában:– %: tetszőleges számú tetszőleges karakter– _: pontosan egy tetszőleges karakter

• Példa:– ‘egyetem’ LIKE ‘_gy%m’ értéke TRUE– ‘gyermek’ LIKE ‘_gy%m’ értéke FALSE– ‘gyermek’ LIKE ‘%gy%m%’ értéke TRUE

• Tagadása: NOT LIKE

Page 8: Az  Oracle  SQL 3

2006. október 2. Markó Tamás, PTE TTK 8

BETWEEN

• Alsó és felső határ közé esés vizsgálata

• x BETWEEN a AND b jelentése:x >= a AND x <= b

• Szöveges és dátum típusú adatokra is

• Tagadása: x NOT BETWEEN a AND b

Page 9: Az  Oracle  SQL 3

2006. október 2. Markó Tamás, PTE TTK 9

IN

• Egy halmazban való előfordulás vizsgálata• x IN (3, 5, 7, 11, 13) jelentése:

x=3 OR x=5 OR x=7 OR x=11 OR x=13• Szöveges és dátum típusú adatokra is• Tagadása:

x NOT IN (3, 5, 7, 11, 13) • A vizsgált halmaz elemeinek tételes felsorolása

helyett egy SELECT utasítás is állhat, pl.nev IN (SELECT nev1 FROM vevok)

Page 10: Az  Oracle  SQL 3

2006. október 2. Markó Tamás, PTE TTK 10

Logikai operátorok

NOT Nem

AND És

OR Vagy

Page 11: Az  Oracle  SQL 3

2006. október 2. Markó Tamás, PTE TTK 11

A legfontosabb függvények

Page 12: Az  Oracle  SQL 3

2006. október 2. Markó Tamás, PTE TTK 12

A NVL (null value) függvény

• Ha az első argumentum nem NULL, őt magát adja vissza

• Ha az első argumentum NULL, a második argumentum értékét adja vissza

• Példa: SELECT ename, NVL(mgr, -1) FROM scott.emp;

Page 13: Az  Oracle  SQL 3

2006. október 2. Markó Tamás, PTE TTK 13

Típuskonverzió

• Van automatikus is, de nem ajánlott– az adatbázis egyes beállításai befolyásolják az

eredményt

• Explicit konverziós függvények:– TO_DATE: szövegből dátum– TO_NUMBER: szövegből szám– TO_CHAR: dátumból szöveg, számból szöveg

overloading

Page 14: Az  Oracle  SQL 3

2006. október 2. Markó Tamás, PTE TTK 14

TO_DATE

• Leggyakrabban használt alakja:TO_DATE(szöveg[, formátum])– szöveg: a dátummá alakítandó szöveg– formátum: a szövegben szereplő dátum formátuma

• Példák:– TO_DATE(‘2004.02.25.’, ‘yyyy.mm.dd.’)– TO_DATE(‘2004.02.25. 13:45’,

‘yyyy.mm.dd. hh24:mi’)

négyjegyű évszám, hónap, nap

24 órás óra-formátum, perc

Page 15: Az  Oracle  SQL 3

2006. október 2. Markó Tamás, PTE TTK 15

TO_NUMBER

• Leggyakrabban használt alakja:TO_NUMBER(szöveg[, formátum])– szöveg: a számmá alakítandó szöveg– formátum: a szövegben szereplő szám

formátuma

• Példák:– TO_NUMBER(‘-3.14’)– TO_NUMBER(‘15 325.62’, ‘99G999D99’)

ezresenkéntielválasztójel tizedesjel

Page 16: Az  Oracle  SQL 3

2006. október 2. Markó Tamás, PTE TTK 16

TO_CHAR

• Leggyakrabban használt alakja:TO_CHAR(dátum[, formátum])TO_CHAR(szám[, formátum])– dátum: a szöveggé alakítandó dátum– szám: a szöveggé alakítandó szám– formátum: a dátum vagy szám formátuma

• Példák:– TO_CHAR(SYSDATE, ‘yy.mm.dd. hh24:mi:ss’)– TO_CHAR(15)

a pillanatnyi idő másodperc pontossággal (kétjegyű évszám)

Page 17: Az  Oracle  SQL 3

2006. október 2. Markó Tamás, PTE TTK 17

Numerikus függvények

• ABS(szám): a szám abszolút értéke

• MOD(a, b): az a:b egész osztás maradéka

• ROUND(a [, b]): a-t kerekíti b db tizedesre (default: b=0). b negatív is lehet!

• SIGN(a): az a szám előjele (-1, 0 vagy 1)

• TRUNC (a [, b]): a-t csonkolja b db tizedesre (default: b=0). b negatív is lehet!

Page 18: Az  Oracle  SQL 3

2006. október 2. Markó Tamás, PTE TTK 18

Dátumfüggvények 1.• ADD_MONTHS(dátum, n): a dátumnál n

hónappal későbbi dátum

• MONTHS_BETWEEN(dátum1, dátum2): a két dátum különbsége hónapokban (törtszám is lehet)

• NEXT_DAY(dátum, hét napja): a dátum utáni legközelebbi nap, ami a hét adott napja. Pl. NEXT_DAY(SYSDATE, ‘Péntek’) az aktuális nap utáni péntek dátumát adja

Page 19: Az  Oracle  SQL 3

19

Dátumfüggvények 2.• ROUND(dátum [, formátum]): a dátumot (és időt) adott

pontosságúra kerekíti (default: egész napra)– ROUND(dátum, ‘CC’): az évszázad első évének eleje

– ROUND(dátum, ‘YEAR’): az év kezdete

– ROUND(dátum, ‘Q’): a negyedév kezdete

– ROUND(dátum, ‘MONTH’): a hónap kezdete

– ROUND(dátum, ‘HH24’): egész óra

– ROUND(dátum, ‘MI’): egész perc

• SYSDATE: a szerver által ismert dátum és idő másodperc pontossággal

• TRUNC(dátum [, formátum]): a dátum (és idő) végét adott pontosságúra levágja (a formátumok ugyanazok, mint a ROUND-nál)

Page 20: Az  Oracle  SQL 3

2006. október 2. Markó Tamás, PTE TTK 20

Karakteres függvények 1.

• ASCII(szöveg): a szöveg első karakterének kódja

• CHR(kód): az adott kódú karakter

• INITCAP(szöveg): a szöveg minden szavának első betűjét nagybetűre váltja

• INSTR(szöveg, keresendő [, kezdőhely [, hányadik]]): a keresendő szövegnek a szövegben való kezdőhely utáni hányadik előfordulásának kezdőpozícióját adja

Page 21: Az  Oracle  SQL 3

21

Karakteres függvények 2.• LENGTH(szöveg): a szöveg hossza

• LOWER(szöveg): a szöveget teljesen kisbetűsség alakítja

• LPAD(szöveg, hossz [, kitöltő]): a szöveget hossz hosszúságúra alakítja úgy, hogy a bal végére a kitöltő szöveget fűzi a kellő számban (default: a kitöltő egy szóköz)

• LTRIM(szöveg [, karakterek]): a szöveg bal végéről eltávolítja a felsorolt karakterek mindegyikét (default: a karakterek egy szóköz)

Page 22: Az  Oracle  SQL 3

22

Karakteres függvények 3.• REPLACE(szöveg, ezt [, erre]): a szövegben ezt minden előfordulását erre cseréli

• RPAD(szöveg, hossz [, kitöltő]): a szöveget hossz hosszúságúra alakítja úgy, hogy a jobb végére a kitöltő szöveget fűzi a kellő számban (default: a kitöltő egy szóköz)

• RTRIM (szöveg [, karakterek]): a szöveg bal végéről eltávolítja a felsorolt karakterek mindegyikét (default: a karakterek egy szóköz)

Page 23: Az  Oracle  SQL 3

23

Karakteres függvények 4.• SUBSTR(szöveg, kezdőhely [, hossz]): a szövegből a kezdőhely pozíciótól kezdve hossz darab karakter

• SYS_CONTEXT: környezeti beállítások (kb. 35 féle) lekérdezése, pl.– SYS_CONTEXT(‘USERENV’, ‘DB_NAME’): a

használt adatbázis neve– SYS_CONTEXT(‘USERENV’, ‘OS_USER’):

a felhasználó login neve az operációs rendszerben– SYS_CONTEXT(‘USERENV’, ‘TERMINAL’): a

használt munkaállomás neve

Page 24: Az  Oracle  SQL 3

2006. október 2. Markó Tamás, PTE TTK 24

Karakteres függvények 5.• TRIM([karakter FROM ] szöveg): a szöveg

mindkét végéről eltávolítja a megadott karakter akárhány előfordulását (default: a karakter egy szóköz)

• UPPER (szöveg): a szöveget teljesen nagybetűsség alakítja

• USER: az aktuális felhasználó login-neve (csupa nagybetű!)

• USERENV: régi megoldás a SYS_CONTEXT helyett

Page 25: Az  Oracle  SQL 3

2006. október 2. Markó Tamás, PTE TTK 25

DECODE

• DECODE(kifejezés, keres1, érték1 [keres2, érték2, …] [, érték_egyébként]): ha a kifejezés értéke keres1, akkor érték1-et adja, ha keres2, akkor érték2-t, stb. Ha egyikkel sem egyezik, akkor az érték_egyébként lesz az értéke, pl.DECODE(elojel, ‘+’, ‘plusz’, ‘-’, ‘mínusz’, ‘nincs ilyen előjel’)