[^] (Caractères génériques à ne pas faire correspondre - Transact-SQL)
S’applique à : SQL ServerAzure SQL Database Azure 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)