sql >> Database teknologi >  >> RDS >> SQLite

SQLite GLOB

Oversigt :i denne øvelse lærer du, hvordan du bruger SQLite GLOB operatør for at bestemme, om en streng matcher et bestemt mønster.

Introduktion til SQLite GLOB operatør

GLOB operatoren ligner LIKE operatør. GLOB operatoren bestemmer, om en streng matcher et bestemt mønster.

I modsætning til LIKE operatør, GLOB operatoren skifter mellem store og små bogstaver og bruger UNIX-jokertegnene. Derudover er GLOB mønstre har ikke escape-tegn.

Det følgende viser jokertegnene brugt med GLOB operatør:

  • Jokertegnet (*) matcher et vilkårligt antal tegn.
  • Spørgsmålstegnet (?) jokertegnet matcher nøjagtigt ét tegn.

Ud over disse jokertegn kan du bruge listens jokertegn [] til at matche et tegn fra en liste over tegn. For eksempel [xyz] match ethvert enkelt x-, y- eller z-tegn.

Listens jokertegn tillader også en række tegn, f.eks. matcher [a-z] ethvert enkelt lille bogstav fra a til z. [a-zA-Z0-9] mønster matcher ethvert enkelt alfanumerisk tegn, både små bogstaver og store bogstaver.

Desuden kan du bruge tegnet ^ i begyndelsen af ​​listen for at matche ethvert tegn undtagen ethvert tegn på listen. For eksempel [^0-9] mønster matcher ethvert enkelt tegn undtagen et numerisk tegn.

SQLite GLOB eksempler

Følgende sætning finder spor, hvis navne starter med strengen Man . Mønsteret Man* matcher enhver streng, der starter med Man .

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

Prøv det

Følgende sætning får de spor, hvis navne slutter med Man . Mønsteret *Man matcher enhver streng, der ender med Man .

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

Prøv det

Den følgende forespørgsel finder de spor, hvis navne starter med et enkelt tegn (?), efterfulgt af strengen ere og derefter et vilkårligt antal tegn (*).

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

Prøv det

For at finde de numre, hvis navne indeholder numre, kan du bruge listens jokertegn [0-9] som følger:

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

Prøv det

Eller for at finde de spor, hvis navn ikke indeholder noget nummer, indsætter du tegnet ^ i begyndelsen af ​​listen:

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

Prøv det

Følgende sætning finder de spor, hvis navne slutter med et nummer.

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

Prøv det

I denne øvelse har du lært, hvordan du bruger SQLite GLOB operatør for at teste, om en streng matcher et bestemt mønster.


  1. Hvordan konverteres rækker til kolonner i Oracle?

  2. WordPress udarbejdet erklæring med IN() tilstand

  3. datetime2 vs smalldatetime i SQL Server:Hvad er forskellen?

  4. Accelereret databasegendannelse i SQL Server 2019