Partager via


[^] (Caractères génériques - caractères à ne pas correspondre) (Transact-SQL)

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBase de données SQL dans Microsoft Fabric

Correspond à n’importe quel caractère unique qui n’est pas dans la plage ou défini entre les crochets [^]. Ces caractères génériques peuvent être utilisés dans des comparaisons de chaînes qui impliquent des critères spéciaux tels que LIKE et PATINDEX.

Examples

Les exemples de code de cet article utilisent les bases de données d'exemple AdventureWorks2025 ou AdventureWorksDW2025, que vous pouvez télécharger à partir de la page d'accueil Microsoft SQL Server Samples and Community Projects.

R : Exemple de base

L’exemple suivant utilise l’opérateur [^] pour rechercher les cinq premières personnes de la Contact table qui ont un prénom commençant par Al et qui a une troisième lettre qui n’est pas la lettre a.

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

Voici le jeu de résultats.

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

B. Recherche de plages de caractères

Un jeu générique peut inclure des caractères uniques ou des plages de caractères, ainsi que des combinaisons de caractères et de plages. L’exemple suivant utilise l’opérateur [^] pour rechercher une chaîne qui ne commence pas par une lettre ou un nombre.

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

Voici le jeu de résultats.

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