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

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Recherche la correspondance de chaque caractère ne se trouvant pas dans la plage ou dans l’ensemble spécifié entre crochets droits [^]. 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.

Exemples

A. Exemple simple

L’exemple suivant utilise l’opérateur [^] afin de retrouver les cinq premières personnes de la table Contact dont le prénom commence par Al, mais dont la troisième lettre du prénom n’est pas la lettre a.

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

Voici le jeu de résultats obtenu.

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

B. Recherche de plages de caractères

Un jeu de caractères génériques 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 chiffre.

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 obtenu.

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

Voir aussi

LIKE (Transact-SQL)
PATINDEX (Transact-SQL)
% (Un ou plusieurs caractères génériques dont la correspondance est recherchée) (Transact-SQL)
[ ] (Caractère générique - recherche de correspondance de caractère(s)) (Transact-SQL)
_ (Caractère générique - recherche de correspondance d'un seul caractère) (Transact-SQL)