Delen via


[^] (Jokerteken - tekens die niet overeenkomen) (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-database in Microsoft Fabric Preview

Komt overeen met een willekeurig teken dat zich niet binnen het bereik bevindt of die tussen de vierkante haken [^]is opgegeven. Deze jokertekens kunnen worden gebruikt in tekenreeksvergelijkingen die betrekking hebben op patroonvergelijkingen, zoals LIKE en PATINDEX.

Examples

De codevoorbeelden in dit artikel gebruiken de AdventureWorks2022 of AdventureWorksDW2022 voorbeelddatabase die u kunt downloaden van de startpagina van Microsoft SQL Server Samples en Community Projects .

A: Basisvoorbeeld

In het volgende voorbeeld wordt de [^] operator gebruikt om de vijf belangrijkste personen in de Contact tabel te vinden die een voornaam hebben die begint met Al en een derde letter heeft die niet de letter ais.

SELECT TOP 5 FirstName, LastName
FROM Person.Person
WHERE FirstName LIKE 'Al[^a]%';

Hier is het resultatenoverzicht.

FirstName     LastName
---------     --------
Alex          Adams
Alexandra     Adams
Allison       Adams
Alisha        Alan
Alexandra     Alexander

B: Zoeken naar bereiken met tekens

Een jokertekenset kan bestaan uit enkele tekens of een reeks tekens, evenals combinaties van tekens en bereiken. In het volgende voorbeeld wordt de [^] operator gebruikt om een tekenreeks te vinden die niet begint met een letter of cijfer.

SELECT [object_id], OBJECT_NAME(object_id) AS [object_name], name, column_id
FROM sys.columns
WHERE name LIKE '[^0-9A-z]%';

Hier is het resultatenoverzicht.

object_id     object_name   name    column_id
---------     -----------   ----    ---------
1591676718    JunkTable     _xyz    1