az n kódú karakter az adott kódkészletben CONCAT(str, str) LOWER(str) UPPER(str) INITCAP(str)

Hasonló dokumentumok
Az Oracle leggyakrabban használt függvényei

SQL-függvények. Input. Output. Függvény. A függvény végrehajtja a műveletet Az eredmény értéke. arg 1. arg 2. arg n

Célkitűzés Különböző típusú SQL sorfüggvények megismerése

SQL sorfüggvények. Copyright 2004, Oracle. All rights reserved.

Adatbázis Rendszerek II. 3. SQL alapok

Adatbázis Rendszerek I. 10. SQL alapok (DML esettanulmány)

Karakterkészlet. A kis- és nagybetűk nem különböznek, a sztringliterálok belsejét leszámítva!

Tranzakciókezelés PL/SQL-ben

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

C# gyorstalpaló. Készítette: Major Péter

Adatbázis Rendszerek II. 8. Gyakorló környezet

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17

Programozás alapjai. 5. előadás

B I T M A N B I v: T M A N

Bevezetés: az SQL-be

Adatbázis használat I. 2. gyakorlat

Készítette: Szabóné Nacsa Rozália

PL/SQL (folytatás) Kurzorok, függvények, eljárások

Határidős accountok WiFi rendszerekhez

SQL haladó. Külső összekapcsolások, Csoportosítás/Összesítés, Beszúrás/Törlés/Módosítás, Táblák létrehozása/kulcs megszorítások

Adatbázis Rendszerek I. 9. SQL alapok (DDL esettanulmány)

Adatbázis-lekérdezés. Az SQL nyelv. Makány György

Adatbázis használat I. 5. gyakorlat

Az indexelés újdonságai Oracle Database 12c R1 és 12c R2

Adattípusok. Numerikus adatok. A numerikus adatok különböző típusú számértékek. Logikai érték

Tartalomjegyzék. Tartalomjegyzék 1. Az SQL nyelv 1 Az SQL DDL alapjai 2

B I T M A N B I v: T M A N

Adatbázis-kezelés. Harmadik előadás

PL/SQL blokk. [címke] [DECLARE deklarációs utasítás(ok)] BEGIN végrehajtható utasítás(ok) [EXCEPTION kivételkezelő] END [név];

Objektumorientált Programozás III.

Elemi alkalmazások fejlesztése IV.

Csomag. Adatbázis-objektum Programozási eszközök gyűjteménye Két részből áll. specifikáció törzs (opcionális)

ORACLE. SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

SQL Structured Query Language

Adatbáziskezelés. SQL parancsok. Függvények

SQL OLAP 2. óra. Multi-dimenzionális adatmodell. A normalizált relációs modell bonyolult a felhasználók számára

Adatbázis Rendszerek II. 2. Ea: Gyakorló környezet

B IT MAN 65/1. Adatbázis Rendszerek II. Ellenőrző kérdések APLSQL B IT MAN. v:

Tábla létrehozása: CREATE TABLE alma( ID INT( 3 ) NOT NULL PRIMARY KEY, Leiras VARCHAR( 100 ) );

INTEGER egész típusú érték megadása, hozzá hasonló, de számábrázolási tartományában eltérő típus még a SMALLINT, szinonimája a DECIMAL

8. Gyakorlat SQL. DDL (Data Definition Language) adatdefiníciós nyelv utasításai:

A C programozási nyelv I. Bevezetés

ADATBÁZIS RENDSZEREK I BEADANDÓ

A C programozási nyelv I. Bevezetés

Adatbázis Rendszerek II. 2. Gyakorló környezet

N Y I L A T K O Z A T

Adattípusok. Tartomány, műveletek, reprezentáció Altípus: azonos műveletek és reprezentáció, szűkebb tartomány Osztályozás:

Adatbázisok. 9. gyakorlat SQL: SELECT október október 26. Adatbázisok 1 / 14

ADATBÁZISOK gyakorlat: SQL 2. rész SELECT

S z á m í t ó g é p e s a l a p i s m e r e t e k

A relációs adatbáziskezelés szabványos nyelve Két fő csoportba sorolhatók az utasításai

Adatbázisok* tulajdonságai

Operációs Rendszerek II. labor. 2. alkalom

Globalizáció, Lokalizáció

Felhasználó által definiált adattípus

SQL- Utasítások csoportosítása Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER

Adatbázis Rendszerek II. 5. PLSQL Csomagok 16/1B IT MAN

Adatbázisok elmélete 9. előadás

SQL DDL-1: táblák és megszorítások

Statisztikai szoftverek Molnár Gábor József

ADATBÁZIS-KEZELÉS FÉLÉVES FELADAT

Adatbázisok elmélete 9. előadás

Lekérdezések az SQL SELECT utasítással

MySQL. Elektronikus jegyzet Széchenyi István Egyetem Távközlési tanszék

Együttes hozzárendelés

BUJDOSÓ GYÖNGYI. Bevezetés az SQL-be OKTATÁSI SEGÉDANYAG AZ ADATBÁZISKEZELÉS CÍMŰ GYAKORLATHOZ DEBRECENI EGYETEM INFORMATIKAI KAR

MATLAB OKTATÁS 1. ELŐADÁS ALAPOK. Dr. Bécsi Tamás Hegedüs Ferenc

Adatbázis-kezelés, információs-rendszerek

Java és web programozás

LBRA6i integrált rendszer

length (s): Az s karaklerlánc hossza, substr(s,m,n): Az s mezőben levő karakterláncnak az m-edik karakterétől kezdődő, n darab karaktert vágja ki.

Adatbázis rendszerek SQL nyomkövetés

Informatikai képzés Információs rendszerek dr. Hajas Csilla (ELTE IK)

Algoritmusok Tervezése. 4. Előadás Visual Basic 1. Dr. Bécsi Tamás

C# Nyelvi Elemei. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei / 18

Adattípusok. Max. 2GByte

BAA_leiras_v1-06_ Tisztelt Szolgáltató! Tisztelt Szoftverfejlesztı!

Adattípusok. Max. 2GByte

1. Alapok. #!/bin/bash

Adatbázis használat I. 2. gyakorlat

Dolgozó Kód Név Város Beosztás Belépés Fizetés Osztály. Adatbázis-kezelés alapjai SQL 2: DQL. v: B IT MAN 169/1

Adatbázis Rendszerek II. 6. PLSQL Triggerek 32/1B IT MAN

Sztringkezelő függvények. A string típusú változók kezelése, használata és szerepük a feldolgozás során

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós május 6. Széchenyi István Egyetem, Gy r

Statisztikai függvények

Spatial a gyakorlatban

Java és web programozás

Gyakorlás: Hozzunk létre egy Alkalmazottak táblát AZO szám, Részleg szöveg, Munkakör szöveg és BelépésDátuma dátum típussal.

A gyakorlat során MySQL adatbázis szerver és a böngészőben futó phpmyadmin használata javasolt. A gyakorlat során a következőket fogjuk gyakorolni:

Haladó DBMS ismeretek 1

Operációs rendszerek gyakorlat

SQL. 1.rész. 1.elıadás // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 1

Triggerek. Olyan névvel ellátott adatbázisobjektumok, amelyek eseményorientált feldolgozást tesznek lehetővé

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE) október október 22. Adatbázisok 1 / 14

3. Előadás. Az SQL adatbázisnyelv (Tartalom) Az SQL története. Az SQL felépítése. Adattípúsok. SQL utasítások

BASH SCRIPT SHELL JEGYZETEK

SQL PÉLDATÁR. készült a PTE TTK Iskolai informatika III. kurzus teljesítésére

SQL parancsok feldolgozása

2. Az adatbázis-kezelés alapjai

SQL ALAPOK. Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai

Átírás:

Numerikus függvények ABS(n) ACOS(n) ASIN(n) ATAN(n), ATAN2(n, m) ATAN2(n, m) = ATAN(n/m) BITAND(positiv_int, positiv_int2) bitenkénti és mővelet CEIL(n) felsı egészrész COS(n) COSH(n) EXP(n) e az n-ediken FLOOR(n) egészrész LN(n) LOG(m, n) MOD(m, n) n=0 esetén m-et ad vissza POWER(m, n) m az n-ediken ROUND(n [, int]) kerekítés. int lehet <0 is, alapértelmezése = 0 SIGN(n) elıjel SIN(n) SINH(n) SQRT(n) négyzetgyök TAN(n) TANH(n) TRUNC(n [, int]) csonkolás. int lehet <0 is, alapértelmezése = 0 WIDTH_BUCKET(kif, min_érték, max_érték, kosarak_száma) azonos szélességő hisztogram esetén melyik kosárba esne a kifejezés Karakterkezelı függvények ASCII(str) az elsı karakter ascii kódja CHR(n) az n kódú karakter az adott kódkészletben CONCAT(str, str) LOWER(str) UPPER(str) INITCAP(str) szavak kezdıbetői nagybetőssé alakítva LENGTH(str) karakterlánc hossza SUBSTR(str, pozíció [,hossz]) részkarakterlánc. pozíció < 0 esetén hátulról számol INSTR(str, str [,pozíció] [,elıfordulás]) keresett részkarakterlánc kezdete LPAD(str, hossz [,str2]) balról adott hosszúságúra való kiegészítés (default str2 = ) RPAD(str, hossz [,str2]) jobbról adott hosszúságúra való kiegészítés LTRIM(str [,str2]) str2-beli karakterek eltávolítása str bal oldaláról (default str2 = ) RTRIM(str [,str2]) str2-beli karakterek eltávolítása str jobb oldaláról (default str2 = ) TRIM([LEADING TRAILING BOTH str] FROM str) NLS_LOWER NLS_UPPER NLS_INITCAP NLS_SORT adott nyelven történı rendezéshez REPLACE(str, mit [,mire]) str-beli karakterláncok lecserélése (vagy kivágása) TRANSLATE(str, input_karakterek, csere_karakterek )

Dátumkezelı függvények SYSDATE ADD_MONTHS(d, n) MONTHS_BETWEEN(d, d) LAST_DAY(d) NEXT_DAY(d, str) ROUND(d, [, formátum]) TRUNC(d, [, formátum]) rendszerdátum n hónap hozzáadása d-hez az eltelt hónapok száma az adott hónap utolsó napja a legközelebbi adott nevő nap d után kerekítés csonkolás Dátum és idıkezelés (9-estıl) Új típus: TIMESTAMP TIMESTAMP[(törtmásodpercek pontossága)] -- alapértelmezés=6 CREATE TABLE T(ido TIMESTAMP); INSERT INTO T VALUES(TIMESTAMP '1997-01-31 09:26:50.124'); TIMESTAMP[(törtmásodpercek pontossága)] WITH TIME ZONE CREATE TABLE T(ido TIMESTAMP WITH TIME ZONE); INSERT INTO T VALUES(TIMESTAMP '1997-01-31 09:26:50.124 +02:00'); TIMESTAMP[(törtmásodpercek pontossága)] WITH LOCAL TIME ZONE Az adatbázis idızónájában tárolódik, és a kliens lokális idızónájában jelenik meg az adat. Nincs tárolva az idızóna eltolás. Session idızónájának beállítása: ALTER SESSION SET TIME_ZONE = +2:0 ; Új függvények: Adatbázis ill. session idızónája: DBTIMEZONE, SESSIONTIMEZONE Aktuális dátum a session idızónájában: CURRENT_DATE (DATE típus) Aktuális dátum idızónával együtt: CURRENT_TIMESTAMP (TSTZ típus) Akt. dátum idızónával a session zónájában: LOCALTIMESTAMP (TSTZ típus) EXTRACT([year] [month] [day] [hour] [minute] [second] [timezone_hour] FROM <dátum>) TS konvertálása TSTZ-vé: FROM_TZ(TIMESTAMP 2004-04-11 08:12:14, 2:00 ) TS-re ill. TSTZ-re: TO_TIMESTAMP( 2004-04-11 08:12:14, YYYY-MM-DD HH:MI:SS ) TO_TIMESTAMP_TZ( 2004-04-11 08:12:14 +2:00, YYYY-MM-DD HH:MI:SS TZH:TZM ) Idızóna eltolódás: TZ_OFFSET( Europe/Budapest ) -> +02:00 Példák intervallum (INTERVAL) típusokra CREATE TABLE time_table ( start_time TIMESTAMP, duration_1 INTERVAL DAY (6) TO SECOND (5), duration_2 INTERVAL YEAR TO MONTH); -- INTERVAL DAY [(day_precision)] TO SECOND [(fractional_seconds_precision)] -- INTERVAL YEAR [(year_precision)] TO MONTH INTERVAL '4 5:12:10.222' DAY TO SECOND(3)

INTERVAL '123-2' YEAR(3) TO MONTH SELECT last_name, EXTRACT(YEAR FROM (SYSDATE - hire_date) YEAR TO MONTH ) ' years ' EXTRACT(MONTH FROM (SYSDATE - hire_date) YEAR TO MONTH ) ' months' FROM hr.employees; SELECT order_id, EXTRACT(DAY FROM (SYSDATE - order_date) DAY TO SECOND ) ' days ' EXTRACT(HOUR FROM (SYSDATE - order_date) DAY TO SECOND ) ' hours ' EXTRACT(MINUTE FROM (SYSDATE - order_date) DAY TO SECOND ) ' minutes ' EXTRACT(SECOND FROM (SYSDATE - order_date) DAY TO SECOND ) ' seconds' FROM oe.orders Konverziós függvények TO_CHAR(d [, fmt [, nlsparam]]) TO_CHAR(n [, fmt [, nlsparam]]) TO_NUMBER(str [, fmt [, nlsparam]]) TO_DATE(str [, fmt [, nlsparam]]) CHARTOROWID(str) ROWIDTOCHAR(rowid) További függvények NVL(expr1, expr2) ha expr1 is NULL -> expr2 egyébként -> expr1 NVL2(expr1, expr2, expr3) ha expr1 is NULL -> expr3 egyébként -> expr2 NULLIF(expr1, expr2) CASE WHEN expr1 = expr 2 THEN NULL ELSE expr1 END COALESCE(expr1, expr2, ) az elsı nem NULL értéket adja vissza DECODE(expr, search1, result1 [, search2, result2,...,] [, default]) CASE WHEN feltétel1 THEN result1 [ WHEN feltétel2 THEN result2 ELSE default ] END CASE expr WHEN search1 THEN result1 [ WHEN search2 THEN result2 ELSE default ] END USER UID GREATEST(expr_list) LEAST(expr_list) az aktuális felhasználó neve az aktuális felhasználó rendszerbeli azonosító kódja legnagyobb elem legkisebb elem

Reguláris kifejezések kezelése (10.1-tıl) * nulla vagy több elıfordulás, + 1 vagy több elıfordulás,? 0 vagy 1 elıfordulás ^ sor kezdete, $ sor vége,. tetszıleges karakter, [] bármelyik karakter a zárójelben, [: :] karakterosztályok pl. [:alpha:], [:digit:], [:alnum:], [:blank:], [:punct:] stb. () csoportosító kifejezés, vagylagos operátor {m,} {m} {m, n} illeszkedések száma legalább m, pontosan m, m és n közötti \n visszahivatkozó kifejezés az n-edik zárójelezett kifejezésre REGEXP_SUBSTR(forrás, minta, pozíció, elıfordulás, illeszkedési param) Visszaadja a keresett mintát (vagy NULL-t) a forrás megadott részében (poz) keresve. Az illeszkedési paraméter jelezheti pl. hogy case sensitive módon keresünk-e vagy nem ( c, i ). -- Az 'a' bető és a két utána következõ karakter SELECT regexp_substr('123:_*+abc:_*+123:-*+abc', '[a]..') FROM dual; -- abc -- Az 'a' bető és a két utána következõ karakter második elõfordulása SELECT regexp_substr('123:_*+abc:_*+123:-*+abc', '[a]..', 1, 2) -- NULL -- Az 'a' bető és a két utána következõ karakter a forrás 9. karakterétıl kezdıdı részben SELECT regexp_substr('123:_*+abc:_*+123:-*+abc', '[a]..', 9) -- NULL -- Az 'a' bető és a két utána következõ karakter második elõfordulása, nem case sensivite esetben SELECT regexp_substr('123:_*+abc:_*+123:-*+abc', '[a]..', 1, 2, i ) -- ABC -- A két _ közötti rész SELECT regexp_substr('123:_*+abc:_*+123:-*+abc', '_[^_]*_') -- _*+abc:_ -- 3 számjegy egymás után SELECT regexp_substr('123:_*+123:-*+abc', '([[:digit:]]{3})') -- 123 -- 1 vagy 2 SELECT regexp_substr('123:_*+123:-*+abc', '(1 2)') -- 1

REGEXP_INSTR(forrás, minta, poz, elıf, visszatérési opc, illeszkedési param) Visszaadja a megtalált minta elsı karakterének pozícióját (opc=0), vagy a minta utáni pozíciót (opc=1). Ha nem talál, 0-t ad vissza. -- A két _ közötti rész elıfordulásának pozíciója SELECT regexp_instr('123:_*+abc:_*+123:-*+abc', '_[^_]*_') -- 5 -- A minta utáni pozíció SELECT regexp_instr('123:_*+abc:_*+123:-*+abc', '_[^_]*_', 1, 1, 1) -- 13 -- A '*' 0-szori elõfordulást is megenged, az alábbi minta illeszkedik SELECT regexp_instr('1223:_*+abc:_*+1223:-*+abc', '(22)*') -- 1 -- A '+' csak >=1-szeri elıfordulást enged SELECT regexp_instr('1223:_*+abc:_*+1223:-*+abc', '(22)+') FROM dual -- 2 REGEXP_LIKE(forrás, minta, poz, elıf, visszatérési opc, illeszkedési param) Igaz vagy hamis értékkel tér vissza attól függıen, hogy talált-e mintát. -- Az A bető után már nincs 3 karakter SELECT 'X' from dual WHERE regexp_like('123:_*+abc:_*+123:- *+ABC', '[A]...') -- No rows selected REGEXP_REPLACE(forrás, minta, csere, poz, elıf, illeszkedési param) Ha az illeszkedési param = 0 akkor a minta összes elıfordulása le lesz cserélve a csere stringre, ha n>0, akkor csak az n-edik. -- Formázzunk meg egy mobil telefonszámot SELECT regexp_replace('30-3456789', '([[:digit:]]{2})-([[:digit:]]{3})', '(\1) \2-') FROM dual -- (30) 345-6789

Példák függvényekre Függvényhívás Eredmény LOWER('SQL Course') UPPER('SQL Course') INITCAP('SQL Course') Karakterkezelı fv-ek CONCAT('Good', 'String') SUBSTR('String',1,3) LENGTH('String') 6 INSTR('String', 'r') 3 sql course SQL COURSE Sql Course GoodString LPAD(sal,10,'*') ******5000 Kerekítés, csonkolás ROUND(45.926, 2) 45.93 TRUNC(45.926, 2) 45.92 MOD(1600, 300) 100 Dátum fv-ek MONTHS_BETWEEN ('01-SEP-95','11-JAN-94') 19.6774194 ADD_MONTHS ('11-JAN-94',6) NEXT_DAY ('01-SEP-95','FRIDAY') LAST_DAY('01-SEP-95') ROUND('25-JUL-95','MONTH ) ROUND('25-JUL-95','YEAR') TRUNC('25-JUL-95','MONTH') TRUNC('25-JUL-95','YEAR') Str '11-JUL-94' '08-SEP-95' '30-SEP-95' 01-AUG-95 01-JAN-96 01-JUL-95 01-JAN-95 Dátumkezelı függvények és dátumaritmetika d + n -> d d d -> n (napok száma) Implicit adatkonverzió VARCHAR2 vagy CHAR -> NUMBER VARCHAR2 vagy CHAR -> DATE NUMBER -> VARCHAR2 DATE -> VARCHAR2

Explicit konverzió TO_CHAR, TO_NUMBER, TO_DATE TO_CHAR(date, 'fmt') a formátummodell case sensitive YYYY Évszám 4 számjeggyel YEAR Évszám betőkkel leírva MM Hónap két számjeggyel MONTH Hónap teljes neve MON Hónap rövidített neve WW A hét sorszáma az évben W A hét sorszáma a hónapban DDD A nap sorszáma az évben DD A nap sorszáma a hónapban D A nap sorszáma a héten DY A nap nevének 3 betős rövidítése DAY Nap teljes neve HH24 Az óra két számjeggyel (0-23) MI Perc két számjeggyel SS Másodperc két számjeggyel HH24:MI:SS AM -> 15:45:32 PM DD "of" MONTH -> 12 of OCTOBER ddspth -> fourteenth select to_char(sysdate, 'month', 'nls_date_language=hungarian') from dual -> március select to_char(sysdate, 'MONTH', 'nls_date_language=hungarian') from dual -> MÁRCIUS select to_char(sysdate, 'YEAR', 'nls_date_language=hungarian') from dual -> TWO THOUSAND FOUR (!!!) TO_CHAR(number, 'fmt') 9 -> Represents a number 0 -> Forces a zero to be displayed $ -> Places a floating dollar sign L -> Uses the floating local currency symbol. -> Prints a decimal point, -> Prints a thousand indicator