Baze de date
Tipul sir de caractere - functii referitoare la subsirurile de caractere: SUBSTR, LEFT, REPLICATE, ALLTRIM, RATUn sir de caractere reprezinta o multime ordonata de caractere care se trateaza ca un tot unitar. Numarul caracterelor dintr-un sir reprezinta lungimea sirului. Un subsir al unui sir dat reprezinta o portiune din sir, incepand de la o pozitie specificata si de lungime data. O expresie de tip sir de caractere reprezinta o combinatie de operanzi si operatori, realizata dupa anumite regului, a carei evaluare va avea ca rezultat un sir de caractere. Operanzii care intra in componenta acestor tipuri de expresii pot fi: campuri de tip sir de caractere ale unei tabele functii care returneaza siruri de caractere variabile de tip sir de caractere constante de tip sir de caractere Asupra sirurilor de caractere se aplica doua tipuri de operatori: operatori de concatenare operatori de comparare sau relationali Operatorii de concatenare sunt: operatorul de concatenare simplu “+” operatorul de concatenare special “-” Exemplu: simplu : “strada_”+”George_Cosbuc” “strada_George_Cosbuc” special: “Salut_ _ _”-“_prieteni_!” “Salut_prieteni_!_ _ _ “ a) Functii referitoare la subsirurile de caractereFunctia SUBSTRFunctia SUBSTR ajuta la extragerea unui subsir dintr-un sir de caractere. Sintaxa functiei este: SUBSTR ( <expC > , < expN1 > , [ , < expN2 > ] ) unde, < expC > este expresia din care se extrage subsirul < expN1 > este pozitia de unde incepe subsirul de extras (inclusiv caracterul de pe aceasta pozitie) < expN2 > reprezinta numarul de caractere ce se extrag (adica lungimea subsirului); daca lipseste subsirul se intinde pana la sfarsitul sirului de baza.
Exemplu: ?SUBSTR ( “ABCDEF”,2,3) BCD Functiile LEFT si RIGHTFunctiile LEFT si RIGHT returneaza un subsir al unui sir dat pozitionat la stanga sau la dreapta, dupa cum urmeaza: LEFT returneaza un subsir al unui sir dat pozitionat la stanga RIGHT returneaza un subsir al unui sir dat pozitionat la dreapta Sintaxa functiilor este: LEFT ( < expC > , < expN > ) RIGHT ( < expC > , <expN > ) unde < expC > este expresia din care se extrage subsirul < expN > este lungimea sirului de extras Exemplu: ?LEFT (“La multi ani !”,2) La ?RIGHT (“Noapte buna !“,6) buna Functia REPLICATEFunctia REPLICATE returneaza un sir de caractere obtinut prin repetarea sirului <expC> de <expN> ori. Sintaxa functiei este: REPLICATE ( < expC > , < expN > ) Exemplu: ?REPLICATE (“a”,5) aaaaa Functiile ALLTRIM(), LTRIM( ), TRIM( ), RTRIM( ) Functiile ALLTRIM( ) elimina blancurile de la inceputul si sfarsitul sirului de caractere LTRIM( ) elimina blancurile de la inceputul sirului de caractere TRIM( ) si RTRIM( ) sunt identice si elimina blancurile de la sfarsitul sirului de caractere. Functiile AT( ), ATC( ) si RAT( ) Aceste functii cauta in sirul de caractere < expC2 > , subsirul < expC1 >. Rezultatul cautarii este numeric, cand cautarea se incheie cu succes, functiile returneaza pozitia de unde incepe subsirul, in caz de esec returneaza 0 (zero). < expN > indica a < expN >-a aparitie a lui < expC1 > in < expC2 >. La AT ( ) si ATC ( ) cautarea incepe de la primul caracter de la stanga la dreapta. La RAT ( ) cautarea incepe de la ultimul caracter de la dreapta la stanga. AT ( ) face distinctie intre litere mari sau mici pe cand ATC ( ) nu face aceasta distinctie. Sintaxa functiilor este: AT ( <expC1 > , <expC2 > [ , <expN > ] ) ATC ( <expC1 > , <expC2 > [ , <expN > ] ) RAT ( <expC1 > , <expC2 > [ , <expN > ] ) Exemplu: ?AT(‘nr.’,’Strada George Cosbuc,nr.63-64’) 22 ? ATC(‘NR’,’Strada George Cosbuc,nr.63-64’) 22 ? RAT(‘a’,’Strada George Cosbuc,nr.63-64’) 6 b) Functiile ce returneaza informatii despre sirurile de caractereFunctia LENFunctia LEN ( < expC > ) returneaza lungimea sirului de caractere. Exemplu: ?LEN (“salutari !” ) 10 c) Functii privind transformari ale sirurilor de caractereFunctiile LOWER, UPPER si PROPERLOWER( ) transforma toate majusculele in litere mici, restul caracterelor ramanand neschimbate UPPER( ) transforma toate caracterele mici in majuscule corespunzatoare, restul caracterelor ramanand neschimbate. PROPER( ) transforma primul caracter dintr-un cuvant in majuscula (daca este alfabetic), iar urmatoarele in litere mici. Exemplu: PROPER ( “IoNeScu dAniel” ) Ionescu Daniel LOWER(“Daniel”) daniel UPPER(“daniel”) DANIEL
|