Vi har redan diskuterat om SQL LIKE-operatören, som används för att jämföra ett värde med liknande värden med hjälp av jokertecken operatörer.
SQL stöder två jokertecken operatörer i samband med liknande operatör som förklaras i detalj i följande tabell.
Sr.No. | jokertecken & beskrivning |
---|---|
1 |
procenttecknet (%) matchar ett eller flera tecken. Obs-MS Access använder jokertecknet asterisk ( * ) istället för jokertecknet procent ( % ). |
2 |
understrecket (_) matchar ett tecken. Obs-MS Access använder ett frågetecken (?) istället för understrecket ( _ ) för att matcha ett tecken. |
procenttecknet representerar noll, ett eller flera tecken. Understrecket representerar ett enda nummer eller ett tecken. Dessa symboler kan användas i kombinationer.
Syntax
den grundläggande syntaxen för en ’%’ och en ’ _ ’ – operatör är som följer.
SELECT * FROM table_nameWHERE column LIKE 'XXXX%'or SELECT * FROM table_nameWHERE column LIKE '%XXXX%'orSELECT * FROM table_nameWHERE column LIKE 'XXXX_'orSELECT * FROM table_nameWHERE column LIKE '_XXXX'orSELECT * FROM table_nameWHERE column LIKE '_XXXX_'
Du kan kombinera n antal villkor med hjälp av och eller Or-operatörerna. Här kan XXXX vara vilket numeriskt eller strängvärde som helst.
exempel
Följande tabell har ett antal exempel som visar where-delen med olika like-klausuler med ’%’ och ’ _ ’ – operatörer.
Sr.No. | uttalande& beskrivning |
---|---|
1 |
där lön som ”200%” hittar några värden som börjar med 200. |
2 |
där lön som ’%200%’ hittar några värden som har 200 i vilken position som helst. |
3 |
där lön som ’_00%’ hittar några värden som har 00 i andra och tredje positionen. |
4 |
där lön som ’2_%_%’ hittar några värden som börjar med 2 och är minst 3 tecken i längd. |
5 |
där lön som ’%2’ hittar några värden som slutar med 2. |
6 |
där lön som ’_2% 3’ hittar några värden som har en 2 i den andra positionen och slutar med en 3. |
7 |
där lön som ’2___3’ hittar några värden i ett femsiffrigt nummer som börjar med 2 och slutar med 3. |
Låt oss ta ett riktigt exempel, överväga KUNDTABELLEN med följande poster.
+----+----------+-----+-----------+----------+| ID | NAME | AGE | ADDRESS | SALARY |+----+----------+-----+-----------+----------+| 1 | Ramesh | 32 | Ahmedabad | 2000.00 || 2 | Khilan | 25 | Delhi | 1500.00 || 3 | kaushik | 23 | Kota | 2000.00 || 4 | Chaitali | 25 | Mumbai | 6500.00 || 5 | Hardik | 27 | Bhopal | 8500.00 || 6 | Komal | 22 | MP | 4500.00 || 7 | Muffy | 24 | Indore | 10000.00 |+----+----------+-----+-----------+----------+
följande kodblock är ett exempel som visar alla poster från KUNDTABELLEN där lönen börjar med 200.
SQL> SELECT * FROM CUSTOMERSWHERE SALARY LIKE '200%';
detta skulle ge följande resultat.
+----+----------+-----+-----------+----------+| ID | NAME | AGE | ADDRESS | SALARY |+----+----------+-----+-----------+----------+| 1 | Ramesh | 32 | Ahmedabad | 2000.00 || 3 | kaushik | 23 | Kota | 2000.00 |+----+----------+-----+-----------+----------+