I det här SQL-avsnittet kommer vi att diskutera hur man jämför två eller flera strängar i Structured Query Language
Vi kan jämföra två eller flera strängar med STRCMP-strängfunktionen, LIKE-operatorn och Equal-operatorn.
STRCMP String funktion
STRCMP är en funktion av sträng som jämför de angivna två strängarna och ger 0 om längden på den första strängen är lika med längden på den andra strängen. Om längden på den första strängen är mer än längden på den andra strängen, returnerar funktionen 1 annars -1.
Syntax för STRCMP-funktion
SELECT STRCMP (String_1, String_2);
Exempel på STRCMP String-funktion
Exempel 1: Följande SELECT-fråga jämför längden på JAVATPOINT- och EXAMPLES-strängar:
SELECT STRCMP ('JAVATPOINT', 'EXAMPLES');
Produktion:
1
Exempel 2: Följande SELECT-fråga jämför längden på två meningar som passerar i STRCMP-funktionen:
SELECT STRCMP ('Website is good', 'javatpoint is good');
Produktion:
-1
Exempel 3: Följande SELECT-fråga jämför längden på två städer:
SELECT STRCMP ( 'Delhi', 'Noida');
Produktion:
0
GILLA operatör
LIKE-operatorn matchar det specifika mönstret med varje rad i fältet och returnerar de matchade värdena i utdata. Denna operator används alltid med WHERE-satsen i SQL-satsen.
Syntax för Like-operator
SELECT Column_Name_1, Column_Name_2, Column_Name_3, ……, Column_Name_N FROM Table_Name WHERE Column_Name LIKE Pattern;
Exempel på LIKE-operatör
Låt oss ta följande studenttabell:
Roll_No | Förnamn | Stad | Ålder | Procentsats | Kvalitet |
---|---|---|---|---|---|
101 | Akash | Delhi | 18 | 89 | A2 |
102 | Bhavesh | Kanpur | 19 | 93 | A1 |
103 | Yash | Delhi | tjugo | 89 | A2 |
104 | Bhavna | Delhi | 19 | 78 | B1 |
105 | yatin | Lyckligtvis | tjugo | 75 | B1 |
106 | Ishaka | Ghaziabad | 19 | 91 | C1 |
107 | Vivek | Goa | tjugo | 80 | B2 |
Fråga 1: Följande fråga visar posten för de elever från elevtabellen ovan vars Förnamn börjar med bokstaven 'B':
SELECT Roll_No, First_Name, Percentage, Grade FROM Student WHERE First_Name LIKE 'B%';
Utdata från ovanstående fråga:
Roll_No | Förnamn | Procentsats | Kvalitet |
---|---|---|---|
102 | Bhavesh | 93 | A1 |
104 | Bhavna | 78 | B1 |
Som framgår av ovanstående utdata innehåller tabellen bara posten för Bhavesh- och Bhavna-elever eftersom deras namn börjar med bokstaven B.
Fråga 2: Följande fråga visar posten för de elever från den givna elevtabellen vars First_Name innehåller tecknet 'a' i valfri position:
SELECT Roll_No, First_Name, Percentage, Grade FROM Student WHERE First_Name LIKE '%a%' ;
Utdata från ovanstående fråga:
Roll_No | Förnamn | Stad | Ålder | Procentsats | Kvalitet |
---|---|---|---|---|---|
101 | Akash | Delhi | 18 | 89 | A2 |
102 | Bhavesh | Kanpur | 19 | 93 | A1 |
103 | Yash | Delhi | tjugo | 89 | A2 |
104 | Bhavna | Delhi | 19 | 78 | B1 |
105 | yatin | Lyckligtvis | tjugo | 75 | B1 |
106 | Ishaka | Ghaziabad | 19 | 91 | C1 |
Equal Operator (=)
Det är en typ av jämförelseoperator som visar matchade data från den givna SQL-tabellen.
Denna operatör används mycket av databasanvändarna i Structured Query Language.
Den här operatorn returnerar TRUE-rader från databastabellen om värdet på kolumnen är detsamma som värdet som anges i frågan.
Syntax för Equal-operatorn:
SELECT * FROM Table_Name WHERE Column_Name = Value;
Exempel på Equal Operator
Låt oss ta följande arbetstabell:
Worker_Id | Arbetarnamn | Arbetarstad | Arbetare_Lön | Arbetare_Bonus |
---|---|---|---|---|
101 | Anuj | Ghaziabad | 35 000 | 2000 |
102 | Tushar | Lyckligtvis | 29 000 | 3000 |
103 | Vivek | Kolkata | 35 000 | 2500 |
104 | Shivam | Goa | 22 000 | 3000 |
Följande fråga visar posten för de arbetare från arbetartabellen vars Worker_Salary är 35000:
SELECT * FROM Worker WHERE Worker_Salary = 35000;
Produktion:
Worker_Id | Arbetarnamn | Arbetarstad | Arbetare_Lön | Arbetare_Bonus |
---|---|---|---|---|
101 | Anuj | Ghaziabad | 35 000 | 2000 |
103 | Vivek | Kolkata | 35 000 | 2500 |