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.

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 of 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.

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

A rádiótelefonokat kérem

KIKAPCSOLNI!

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

Kifejezések

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

Aritmetikai operátorok

+ Összeadás

- Kivonás

* Szorzás

/ Osztás

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

Szöveges operátorok

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

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!

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

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

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)

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

Logikai operátorok

NOT Nem

AND És

OR Vagy

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

A legfontosabb függvények

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;

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

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

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

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)

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!

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

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)

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

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)

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)

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

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

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’)