Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Operatorul LIKE

sql



+ Font mai mare | - Font mai mic



Operatorul LIKE

De multe ori, cand se doreste obtinerea unor informatii din baza suntem pusi in postura de a nu sti cu exactitate cum se numeste un student sau o carte. Acestea sunt situatiile pentru a caror rezolvare a fost gandit operatorul LIKE



Operatorul LIKE permite compararea unui atribut (expresii) cu un literal utilizand o "masca" construita cu ajutorul specificatorilor multipli % sau _ . Procentul (%) substituie un sir de lungime variabila, 0-n caractere, in timp ce liniuta (_) substituie un singur caracter.

Care sunt cartile din biblioteca care incep cu litera "C"?.

SELECT *

FROM CARTE

WHERE titlu LIKE "C%"

Rezultatul se prezinta ca in figura 4.12.

cota_carte

titlu

editura

domeniu

an_aparitie

nr_exemplare

pret_unitar

Conception orientee objets

Adisson-Wesley

Informatica

Contabilitate generala

Eficient

Contabilitate

Contabilitate generala

Macarie

Contabilitate

Contabilitate de gestiune

Macarie

Contabilitate

Figura 4.12. Cartile al caror titlu incepe cu litera "C"

Varianta fara LIKE (in VFP):

SELECT * ;

FROM CARTE ;

WHERE LEFT(titlu,1)='C'

S-a folosit functia LEFT() pentru a extrage prima litera din titlu.

Ce carti au titlul continand litera "l " pe a treia pozitie?

SELECT *

FROM CARTE

WHERE titlu LIKE "_ _ l%"

cota_carte

titlu

editura

domeniu

an_aparitie

nr_exemplare

pret_unitar

Sql. Dialecte

Polirom

Informatica

Politici si optiuni contabile

Economica

Contabilitate

Figura 4.13. Cartile care au pe pozitia a treia din titlu litera "l".

Rezultatul este vizualizat in figura 4.13. Daca exista carti al caror titlu contine litera "L" majuscula pe a treia pozitie, acestea nu sunt extrase in rezultat. Pentru siguranta, in asemenea situatii, solutia este:

SELECT *

FROM CARTE

WHERE titlu LIKE "_ _ l%" OR titlu LIKE "_ _ L%"

Varianta fara LIKE (in VFP)::

SELECT * ;

FROM CARTE ;

WHERE SUBSTR(titlu,3,1)='l' OR ;

SUBSTR(titlu,3,1)='L' 

S-a folosit functia SUBSTR() pentru a extrage un subsir (litera L) dintr-un sir (titlu

Titlul caror carti se termina in literele "te"?

SELECT *

FROM CARTE

WHERE titlu LIKE "%te"

cota_carte

Titlu

editura

domeniu

an_aparitie

nr_exemplare

pret_unitar

Baze de date

Infomega

Informatica

Sql. Dialecte

Polirom

Informatica

Figura 4.14. Cartile al caror titlu se termina in "te".

Varianta fara LIKE (in VFP):

SELECT * ;

FROM CARTE ;

WHERE RIGHT(ALLTRIM(titlu),2)="te"

Observam folosirea functie RIGHT() pentru a extrage caracterele din dreapta in combinatie cu functia ALLTRIM()



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1332
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved