logo

Porovnávací reťazec SQL

V tejto sekcii SQL budeme diskutovať o tom, ako porovnať dva alebo viac reťazcov v jazyku Structured Query Language

Dva alebo viac reťazcov môžeme porovnať pomocou funkcie reťazca STRCMP, operátora LIKE a operátora Equal.

Funkcia reťazca STRCMP

STRCMP je funkcia reťazca, ktorá porovnáva zadané dva reťazce a dáva 0, ak sa dĺžka prvého reťazca rovná dĺžke druhého reťazca. Ak je dĺžka prvého reťazca väčšia ako dĺžka druhého reťazca, funkcia vráti 1, inak -1.

Syntax funkcie STRCMP

 SELECT STRCMP (String_1, String_2); 

Príklady funkcie String STRCMP

Príklad 1: Nasledujúci dotaz SELECT porovnáva dĺžku reťazcov JAVATPOINT a EXAMPLES:

 SELECT STRCMP ('JAVATPOINT', 'EXAMPLES'); 

Výkon:

 1 

Príklad 2: Nasledujúci dotaz SELECT porovnáva dĺžku dvoch viet prechádzajúcich vo funkcii STRCMP:

 SELECT STRCMP ('Website is good', 'javatpoint is good'); 

Výkon:

 -1 

Príklad 3: Nasledujúci dotaz SELECT porovnáva dĺžku dvoch miest:

 SELECT STRCMP ( 'Delhi', 'Noida'); 

Výkon:

 0 

Operátor LIKE

Operátor LIKE porovná konkrétny vzor s každým riadkom poľa a vráti zhodné hodnoty vo výstupe. Tento operátor sa vždy používa s klauzulou WHERE v príkaze SQL.

Syntax operátora Like

 SELECT Column_Name_1, Column_Name_2, Column_Name_3, ……, Column_Name_N FROM Table_Name WHERE Column_Name LIKE Pattern; 

Príklad operátora LIKE

Zoberme si nasledujúcu študentskú tabuľku:

Roll_No Krstné meno Mesto Vek Percento stupňa
101 Akáša Dillí 18 89 A2
102 Bhavesh Kanpur 19 93 A1
103 Yash Dillí dvadsať 89 A2
104 Bhavna Dillí 19 78 B1
105 yatin Lucknow dvadsať 75 B1
106 Ishaka Ghaziabad 19 91 C1
107 Vivek Goa dvadsať 80 B2

Dopyt 1: Nasledujúci dotaz zobrazuje záznam tých študentov z vyššie uvedenej tabuľky študentov, ktorých meno začína písmenom „B“:

 SELECT Roll_No, First_Name, Percentage, Grade FROM Student WHERE First_Name LIKE 'B%'; 

Výstup vyššie uvedeného dotazu:

Roll_No Krstné meno Percento stupňa
102 Bhavesh 93 A1
104 Bhavna 78 B1

Ako je uvedené vo vyššie uvedenom výstupe, tabuľka obsahuje iba záznamy študentov Bhavesh a Bhavna, pretože ich mená začínajú písmenom B.

Dopyt 2: Nasledujúci dotaz zobrazuje záznam tých študentov z danej tabuľky Študent, ktorých Meno obsahuje znak 'a' na ľubovoľnej pozícii:

 SELECT Roll_No, First_Name, Percentage, Grade FROM Student WHERE First_Name LIKE '%a%' ; 

Výstup vyššie uvedeného dotazu:

Roll_No Krstné meno Mesto Vek Percento stupňa
101 Akáša Dillí 18 89 A2
102 Bhavesh Kanpur 19 93 A1
103 Yash Dillí dvadsať 89 A2
104 Bhavna Dillí 19 78 B1
105 yatin Lucknow dvadsať 75 B1
106 Ishaka Ghaziabad 19 91 C1

Rovnaký operátor (=)

Je to typ porovnávacieho operátora, ktorý zobrazuje spárované dáta z danej SQL tabuľky.

Tento operátor je veľmi používaný používateľmi databázy v štruktúrovanom jazyku dotazov.

Tento operátor vráti TRUE riadky z databázovej tabuľky, ak je hodnota stĺpca rovnaká ako hodnota zadaná v dotaze.

Syntax operátora Equal:

 SELECT * FROM Table_Name WHERE Column_Name = Value; 

Príklad rovnakého operátora

Zoberme si nasledujúcu tabuľku pracovníkov:

Worker_Id Worker_Name Worker_City Pracovník_plat Worker_Bonus
101 Anuj Ghaziabad 35 000 2000
102 Tushar Lucknow 29 000 3000
103 Vivek Kalkata 35 000 2500
104 Shivam Goa 22 000 3000

Nasledujúci dotaz zobrazuje záznam tých pracovníkov z tabuľky pracovníkov, ktorých Worker_Salary je 35 000:

 SELECT * FROM Worker WHERE Worker_Salary = 35000; 

Výkon:

Worker_Id Worker_Name Worker_City Pracovník_plat Worker_Bonus
101 Anuj Ghaziabad 35 000 2000
103 Vivek Kalkata 35 000 2500