VARCHAR2 ir de caractere de lungime variabil 4000 bytes CHAR ir de caractere de lungime fix 2000 bytes
NUMBER(p,s) Numr avnd p cifre din care s la partea zecimal. (s negativ reprezint numrul de cifre semnificative din faa punctului zecimal) p (precizia) ntre 1 i !". s (scala) ntre #"$ i 1%&. DATE 'at calendaristic 'e la 1 (anuarie $&1% )* pana la !1 'ecembrie+ 9999 ,'. TIMESTAMP -e mem.reaz data calendaristic+ .ra+ minutul+ secunda i fraciunea de secund /raciunea de secund este mem.rat cu . precizie de la 0 la 1. INTERVAL YEAR TO MONTH peri.ad de timp n ani i luni. INTERVAL DAY TO SECOND mem.reaz un interval de timp n zile+ .re+ minute i secunde
CLOB *2aracter 3arge 4b5ect $ 6igabytes BLOB )inary 3arge 4b5ect $ 6igabytes BFILE -e mem.reaz adresa unui fiier binar de pe disc $ 6igabytes Elemente de baz ale SQL 7.m prezenta f.arte pe scurt principalele elemente ce intr n c.mp.nena unei c.menzi -83. ume 9.ate .biectele dintr#. baz de date+ tabele+ c.l.ane+ vizualizri+ indexi+ sin.nime+ etc+ au un nume. Numele p.ate fi .rice ir de maxim !0 de litere+ cifre i caracterele speciale: caracterul de subliniere (undersc.re !)+ diez (")+ i d.lar (#)+ primul caracter fiind .bligat.riu $ liter. ;vident numele unui .biect din baza de date trebuie s fie unic. %u&inte rezer&ate *a n .rice limba5+ i n -83 exist . list de cuvinte rezervate. ,cestea sunt cuvinte pe care nu le putei f.l.si cu alt sc.p+ ca de exemplu pentru denumirea tabelel.r v.astre. %$nstante 4 c.nstant sau literal este . val.are fix ce nu p.ate fi m.dificat. ;xist: # c.nstante numerice+ de exemplu %+ !.<+ .1 etc. -e .bserv c dac un numr real are partea ntreag egal cu zer.+ ea nu mai trebuie precizat. # c.nstante alfanumerice (sau ir de caractere). *.nstantele ir de caractere sunt scrise ntre ap.str.furi i sunt case#sensitive. ;xemple: =abc=+ =Numele=. 'ariabile 7ariabilele sunt date care p.t avea n timp val.ri diferite. 4 variabil are nt.tdeauna un nume pentru a putea fi referit. 1 -83 sup.rt d.u tipuri de variabile: # variabilele as.ciate numel.r c.l.anel.r din tabele # variabile sistem. Expresii 4 expresie este f.rmat din variabile+ c.nstante+ .perat.ri i funcii. >n c.ntinuare ne v.m .cupa de .perat.rii ce p.t fi f.l.sii n expresii. Operat$ri aritmetici 4perat.rii aritmetici permii n -83 sunt cei patru .perat.ri din matematic: adunare ?+ scdere #+ nmulire @+ mprire A. 4rdinea de efectuare a .peraiil.r aritmetice este cea din matematic (mai nti nmulirea i mprirea i ap.i adunarea i scderea). Operat$ri al(anumerici ;xist un singur .perat.r alfanumeric i anume .perat.rul de c.ncatenare a d.u iruri BB (d.u bare verticale fr spaii ntre ele). 'e exemplu expresia =abc=BB=xyz= are val.area =abcxyz=. Operat$ri de c$mpara)ie Ce lng .perat.rii .binuii de c.mparaie: D+ E+ DF+ EF+ DE sau GF (pentru diferit)+ F+ -83 mai implementeaz urmt.rii .perat.ri speciali: H 3(I; J despre care v.m discuta puin mai trziu H );9K;;N J testeaz dac . val.are se gsete ntr#un interval definit de d.u val.ri. ,stfel expresia x );9K;;N a ,N' b este ec2ivalent cu expresia (xEFa) ,N' (xDFb) H (N J testeaz dac . val.are aparine unei mulimi de val.ri specificate. 'e exemplu expresia: x (N (a+b+c) este ec2ivalent cu (xFa) 4L (xFb) 4L (xFc) H (- NM33 i (- N49 NM33 J se f.l.sesc pentru a testa dac . expresie are val.area NM33 sau nu. *.mparaia cu NM33 nu se p.ate face f.l.sind .perat.rii .binuii F i respectiv DE. % 4perat.ri l.gici >n .rdinea pri.ritii l.r+ acetia sunt: H N49 J negaia l.gic H ,N' J i l.gic+ expresia a ,N' b este adevrat dac i numai dac ambii .peranzi a i b au val.area adevrat. H 4L J sau l.gic+ expresia a 4L b este adevrat dac i numai dac cel puin unul dintre .peranzii a i b au val.area adevrat. Tabela D*+L >n cele ce urmeaz v.m f.l.si tabela 'M,3 pentru a testa m.dul de .perare a funciil.r singulare. ,ceast tabela este una special+ care c.nine . singur c.l.an numit N'MOOPN i . singur linie. 9abela 'M,3 se f.l.sete atunci cnd realizm calcule+ sau evalum expresii care nu deriv din nici . tabel anume. /ie de exemplu c.manda -;3;*9 (<@&#!)A% /L4O 'M,3Q ;xpresia evaluat n aceast c.mand nu are n c.mp.nen nici . c.l.an a vreunei tabele+ m.tiv pentru care este nev.ie s apelm la tabela 'M,3. Cutem privi tabela 'M,3 ca pe . variabil n care mem.rm rezultatele calculel.r n.astre. 9abela 'M,3 este . facilitate specific 4racle. ;ste ec2ivalentul tabelei -P-'MOOP1 din ')%+ tabel aflat n s2ema sistem -P-()O. ,unc)ii numerice ,ceste funcii .pereaz asupra val.ril.r numerice i returneaz un rezultat numeric. /unciile numerice .ferite de 4racle sunt destul de puternice. +-S.n/ J returneaz val.area abs.lut a argumentului. Exemplu 0ezultatul a(i1at select abs.23425/ (r$m dual 3425 select abs.3/ (r$m dual 3 +%OS.n/6 +S7.n/6 +T+.n/ J sunt funciile trig.n.metrice inverse+ cu semnificaia din matematic. 7al.area returnat de aceste funcii este exprimat n radiani. S7.n/6 %OS.n/6 T+.n/ J sunt funciile trig.n.metrice cu aceeai semnificaie ca i la matematic. ,rgumentul acest.r funcii trebuie precizat n radiani. Exemplu 0ezultatul a(i1at select sin.54848392/ (r$m dual 499999999:92;98405<49320;0:;05454;8435<4 select c$s.54848392/ (r$m dual 400004;52;<94::004:53533;<0390049489394 ! =O>E0.m6n/ J calculeaz val.area m n . Exemplu 0ezultatul a(i1at select p$?er.263/ (r$m dual 52 select p$?er.26043/ (r$m dual 844842853;25<509304::08;::<24209;9:0<:33 select p$?er.2628/ (r$m dual 43 select p$?er.26204<3/ (r$m dual 4394;0533<3085;035553:<499:32:025<93<;38 SQ0T.x/ J calculeaz rdcina ptrat a argumentului. ,pelul SQ0T.x/ returneaz aceeai val.are ca i =O>E0.x6043/. Exemplu 0ezultatul a(i1at select s@rt.5/ (r$m dual 84<52030:0<3;::<<29532<44;548303:<25;;94 0EM+7DE0.x6A/ J n cazul n care ambii parametrii x i A sunt numere ntregi+ funcia calculeaz restul mpririi lui x la A. 'ac cel puin unul dintre parametrii este numr real+ funcia determin mai nti acel multiplu a lui A care este cel mai apr.piat de x+ i returneaz ap.i diferena dintre x i acel multiplu. Exemplu 0ezultatul a(i1at select remainder.8065/ (r$m dual 8 Explicaie. *el mai apr.piat de 80 multiplu a lui 5 este 9. 8029B8. select remainder.365/ (r$m dual 28 Explicaie. *el mai apr.piat de 3 multiplu a lui 5 este ;+ iar 32;B28. select remainder.806543/ (r$m dual 2043 Explicaie. *el mai apr.piat de 80 multiplu a lui 543 este 8043+ iar 8028043B2043. select remainder.2806543/ (r$m dual 043 Explicaie. *el mai apr.piat de 280 multiplu a lui 543 este 28043+ iar 2802.28043/B043. MOD.x6A/ J dac cei d.i parametrii sunt numere ntregi+ atunci funcia returneaz acelai rezultat ca i funcia 0EM+7DE0+ adic restul mpririi lui x la A. 9e.rema mpririi cu rest este extins de aceast funcie i pentru numerele reale. ,dic se ine c.nt de relaia xBA C cDt E rest unde restul trebuie s (ie Fn m$dul strict mai mic decDt A4 Exemplu 0ezultatul a(i1at select m$d.8065/ (r$m dual 8 Explicaie. 80B5C5E8. select m$d.365/ (r$m dual 2 Explicaie. 3B5C8E2 select m$d.806543/ (r$m dual 5 Explicaie. 80B543C2E5. select m$d.2806543/ (r$m dual 25 Explicaie. 280B543C.22/25. select m$d.28062543/ (r$m dual 25 Explicaie. 280B2543C225. select m$d.8062543/ (r$m dual 5 Explicaie. 80B2543C.22/E5. -e .bserv din exemplele anteri.are c restul are nt.tdeauna acelai semn cu primul parametru. S7G.x/ J returneaz semnul lui x+ adic 8 dac x este numr p.zitiv+ respectiv 28 dac x este numr negativ. %E7L.x/ J returneaz cel mai mic numr ntreg care este mai mare sau egal dect parametrul transmis. ,LOO0.x/ J returneaz cel mai mare numr ntreg care este mai mic sau egal dect parametrul transmis. Exemplu 0ezultatul a(i1at select ceil.5/ (r$m dual 5 select ceil.25/ (r$m dual 25 select ceil.254</ (r$m dual 25 $ select ceil.54</ (r$m dual 4 select (l$$r.5/ (r$m dual 5 Select (l$$r.25/ (r$m dual 25 select (l$$r.254</ (r$m dual 24 Select (l$$r.54</ (r$m dual 5 0O*D.x6A/ J r.tun5ete val.area lui x la un numr de cifre precizat prin parametrul A. 'ac al d.ilea parametru este un numr p.zitiv+ atunci se v.r pstra din x primele A zecimale+ ultima dintre aceste cifre fiind r.tun5it+ n funcie de de urmt.area zecimal. ,l d.ilea argument p.ate fi . val.are negativ+ r.tun5irea fcndu#se la stnga punctului zecimal. *ifra a HAH E8 din faa punctului zecimal (numrnd de la punctul zecimal spre stnga ncepnd cu 8) va fi r.tun5it n funcie cifra aflat imediat la dreapta ei. Crimele HAH cifre din stnga punctului zecimal v.r deveni 0. *el de al d.ilea argument este .pi.nal+ n cazul n care nu se precizeaz+ este c.nsiderat implicit val.area 0. Exemplu 0ezultatul a(i1at Select r$und.<43482562/ (r$m dual <43482 Select r$und.<43482;62/ (r$m dual <43485 Select r$und.<43482;628/ ,r$m dual <30 Select r$und.<43482;622/ ,r$m dual <00 Select r$und.<43482;625/ ,r$m dual 8000 Select r$und.<43482;624/ ,r$m dual 0 Select r$und.<43482;60/ ,r$m dual <43 Select r$und.<434:2;60/ ,r$m dual <4; Select r$und.<434:2;/ ,r$m dual <4; T0*%.x/ J este asemnt.are cu funcia 0O*D+ fr a r.tun5i ultima cifr. Exemplu 0ezultatul a(i1at Select trunc.<43482562/ (r$m dual <43482 Select trunc.<43482;62/ (r$m dual <43482 Select trunc.<43482;628/ ,r$m dual <40 Select trunc.<43482;622/ ,r$m dual <00 Select trunc.<43482;625/ ,r$m dual 0 Select trunc.<43482;624/ ,r$m dual 0 select trunc.<43482;60/ (r$m dual <43 select trunc.<434:2;60/ (r$m dual <43 select trunc.<434:2;/ (r$m dual <43 <