az oracle sql 3
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 PresentationTRANSCRIPT
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’)