sql >> Databasteknik >  >> RDS >> SQLite

SQLite GLOB

Sammanfattning :i denna handledning kommer du att lära dig hur du använder SQLite GLOB operatorn för att avgöra om en sträng matchar ett specifikt mönster.

Introduktion till SQLite GLOB operatör

GLOB operatorn liknar LIKE operatör. GLOB operatorn bestämmer om en sträng matchar ett specifikt mönster.

Till skillnad från LIKE operatorn, GLOB operatören är skiftlägeskänslig och använder UNIX jokertecken. Dessutom finns GLOB mönster har inga escape-tecken.

Följande visar jokertecken som används med GLOB operatör:

  • Jokertecken (*) matchar valfritt antal tecken.
  • Jokertecken från frågetecknet (?) matchar exakt ett tecken.

Utöver dessa jokertecken kan du använda jokertecken för listan [] för att matcha ett tecken från en lista med tecken. Till exempel [xyz] matcha valfritt x-, y- eller z-tecken.

Jokertecken i listan tillåter också ett antal tecken, t.ex. [a-z] matchar alla enstaka gemener från a till z. [a-zA-Z0-9] mönster matchar alla enstaka alfanumeriska tecken, både gemener och versaler.

Dessutom kan du använda tecknet ^ i början av listan för att matcha alla tecken utom alla tecken i listan. Till exempel, [^0-9] mönster matchar alla enstaka tecken utom ett numeriskt tecken.

SQLite GLOB exempel

Följande sats hittar spår vars namn börjar med strängen Man . Mönstret Man* matchar alla strängar som börjar med Man .

SELECT
	trackid,
	name
FROM
	tracks
WHERE
	name GLOB 'Man*';Code language: SQL (Structured Query Language) (sql)

Prova det

Följande sats får spåren vars namn slutar med Man . Mönstret *Man matchar alla strängar som slutar med Man .

SELECT
	trackid,
	name
FROM
	tracks
WHERE
	name GLOB '*Man';Code language: SQL (Structured Query Language) (sql)

Prova det

Följande fråga hittar spåren vars namn börjar med ett enda tecken (?), följt av strängen ere och sedan valfritt antal tecken (*).

SELECT
	trackid,
	name
FROM
	tracks
WHERE
	name GLOB '?ere*';Code language: SQL (Structured Query Language) (sql)

Prova det

För att hitta spåren vars namn innehåller nummer kan du använda jokertecken [0-9] enligt följande:

SELECT
	trackid,
	name
FROM
	tracks
WHERE
	name GLOB '*[1-9]*';Code language: SQL (Structured Query Language) (sql)

Prova det

Eller för att hitta spåren vars namn inte innehåller något nummer, placerar du tecknet ^ i början av listan:

SELECT
	trackid,
	name
FROM
	tracks
WHERE
	name GLOB '*[^1-9]*';Code language: SQL (Structured Query Language) (sql)

Prova det

Följande sats hittar de spår vars namn slutar med ett nummer.

SELECT
	trackid,
	name
FROM
	tracks
WHERE
	name GLOB '*[1-9]';Code language: SQL (Structured Query Language) (sql)

Prova det

I den här handledningen har du lärt dig hur du använder SQLite GLOB operatorn för att testa om en sträng matchar ett specifikt mönster.


  1. Lär dig att använda MySQL-databasen

  2. Hur man infogar data från en databastabell till en annan databastabell i Mysql

  3. MySQL - Subtrahera värde från föregående rad, gruppera efter

  4. Hur man bibehåller ordningen för insättning i SQL Server