logo

SQL Compare String

Ebben az SQL részben azt tárgyaljuk, hogyan lehet két vagy több karakterláncot összehasonlítani a strukturált lekérdezési nyelvben

Összehasonlíthatunk két vagy több karakterláncot az STRCMP karakterlánc-függvény, a LIKE operátor és az Equal operátor használatával.

STRCMP String függvény

Az STRCMP a karakterlánc függvénye, amely összehasonlítja a megadott két karakterláncot, és 0-t ad, ha az első karakterlánc hossza megegyezik a második karakterlánc hosszával. Ha az első karakterlánc hossza nagyobb, mint a második karakterlánc hossza, akkor a függvény 1-et ad vissza, ellenkező esetben -1.

Az STRCMP függvény szintaxisa

 SELECT STRCMP (String_1, String_2); 

Példák az STRCMP String függvényre

1. példa: A következő SELECT lekérdezés összehasonlítja a JAVATPOINT és az EXAMPLES karakterláncok hosszát:

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

Kimenet:

 1 

2. példa: A következő SELECT lekérdezés összehasonlítja az STRCMP függvényben áthaladó két mondat hosszát:

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

Kimenet:

 -1 

3. példa: A következő SELECT lekérdezés két város hosszát hasonlítja össze:

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

Kimenet:

 0 

LIKE Operátor

A LIKE operátor megfelelteti az adott mintát a mező minden sorával, és az illesztett értékeket adja vissza a kimenetben. Ezt az operátort mindig a WHERE záradékkal együtt használják az SQL utasításban.

A Like operátor szintaxisa

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

Példa a LIKE operátorra

Vegyük a következő diáktáblázatot:

Roll_No Keresztnév Város Kor Százalék Fokozat
101 Akash Delhi 18 89 A2
102 Bhavesh Kanpur 19 93 A1
103 Yash Delhi húsz 89 A2
104 Bhavna Delhi 19 78 B1
105 yatin Lucknow húsz 75 B1
106 Ishaka Ghaziabad 19 91 C1
107 Vivek Goa húsz 80 B2

1. lekérdezés: A következő lekérdezés azoknak a tanulóknak a rekordját jeleníti meg a fenti diáktáblázatból, akiknek a keresztneve 'B' betűvel kezdődik:

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

A fenti lekérdezés kimenete:

Roll_No Keresztnév Százalék Fokozat
102 Bhavesh 93 A1
104 Bhavna 78 B1

Amint a fenti kimenetből látható, a táblázat csak a Bhavesh és Bhavna tanulók rekordját tartalmazza, mivel nevük B betűvel kezdődik.

2. lekérdezés: A következő lekérdezés azoknak a tanulóknak a rekordját mutatja az adott tanulói táblából, akiknek a Keresztneve tetszőleges helyen tartalmazza az 'a' karaktert:

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

A fenti lekérdezés kimenete:

Roll_No Keresztnév Város Kor Százalék Fokozat
101 Akash Delhi 18 89 A2
102 Bhavesh Kanpur 19 93 A1
103 Yash Delhi húsz 89 A2
104 Bhavna Delhi 19 78 B1
105 yatin Lucknow húsz 75 B1
106 Ishaka Ghaziabad 19 91 C1

Egyenlő operátor (=)

Ez egyfajta összehasonlító operátor, amely az adott SQL-táblázat egyező adatait mutatja.

Ezt az operátort nagymértékben használják a Structured Query Language adatbázis-felhasználói.

Ez az operátor IGAZ sorokat ad vissza az adatbázistáblából, ha az oszlop értéke megegyezik a lekérdezésben megadott értékkel.

Az Equal operátor szintaxisa:

 SELECT * FROM Table_Name WHERE Column_Name = Value; 

Példa az egyenlő operátorra

Vegyük a következő dolgozó táblázatot:

Dolgozói_azonosító Worker_Name Dolgozó_város Dolgozó_fizetés Munkásbónusz
101 Anuj Ghaziabad 35000 2000
102 Tushar Lucknow 29000 3000
103 Vivek Kolkata 35000 2500
104 Shivam Goa 22000 3000

A következő lekérdezés azoknak a dolgozóknak a rekordját jeleníti meg a munkástáblából, akiknek a Dolgozói_bére 35000:

 SELECT * FROM Worker WHERE Worker_Salary = 35000; 

Kimenet:

Dolgozói_azonosító Worker_Name Dolgozó_város Dolgozó_fizetés Munkásbónusz
101 Anuj Ghaziabad 35000 2000
103 Vivek Kolkata 35000 2500