Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
S’applique à :SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Point de terminaison d’analytique SQL dans Microsoft Fabric
Entrepôt dans Microsoft Fabric
Base de données SQL dans Microsoft Fabric
Recherche la correspondance de chaque caractère, dans la plage ou l’ensemble spécifié entre 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.
A. Exemple de base
L’exemple suivant retourne les noms qui commencent par la lettre m.
[n-z] spécifie que la deuxième lettre doit être comprise dans la plage allant de n à z. Le caractère générique % de pourcentage autorise un ou plusieurs caractères commençant par le troisième caractère. Les bases de données model et msdb répondent à ces critères. La base de données master n’y répond pas et est donc exclue du jeu de résultats.
SELECT name FROM sys.databases
WHERE name LIKE 'm[n-z]%';
Voici le jeu de résultats.
name
-----
model
msdb
Vous avez peut-être plus de bases de données éligibles installées.
B. Exemple plus complexe
L'exemple suivant utilise l'opérateur [] pour rechercher l'ID et le nom de tous les employés de Adventure Works dont le code postal se compose de quatre chiffres.
SELECT e.BusinessEntityID, p.FirstName, p.LastName, a.PostalCode
FROM HumanResources.Employee AS e
INNER JOIN Person.Person AS p ON e.BusinessEntityID = p.BusinessEntityID
INNER JOIN Person.BusinessEntityAddress AS ea ON e.BusinessEntityID = ea.BusinessEntityID
INNER JOIN Person.Address AS a ON a.AddressID = ea.AddressID
WHERE a.PostalCode LIKE '[0-9][0-9][0-9][0-9]';
Voici le jeu de résultats.
EmployeeID FirstName LastName PostalCode
---------- --------- --------- ----------
290 Lynn Tsoflias 3000
C. Utiliser un jeu qui combine des plages et des caractères uniques
Un jeu de caractères génériques peut inclure à la fois des caractères uniques et des plages. L’exemple suivant utilise l’opérateur [] pour rechercher une chaîne qui commence par un chiffre ou une série de caractères spéciaux.
SELECT [object_id], OBJECT_NAME(object_id) AS [object_name], name, column_id
FROM sys.columns
WHERE name LIKE '[0-9!@#$.,;_]%';
Voici le jeu de résultats.
object_id object_name name column_id
--------- ----------- ---- ---------
615673241 vSalesPersonSalesByFiscalYears 2002 5
615673241 vSalesPersonSalesByFiscalYears 2003 6
615673241 vSalesPersonSalesByFiscalYears 2004 7
1591676718 JunkTable _xyz 1
Contenu connexe
- COMME (Transact-SQL)
- PATINDEX (Transact-SQL)
- Caractère de pourcentage (caractères génériques - caractères à mettre en correspondance) (Transact-SQL)
- [^] (Caractères génériques - caractères à ne pas correspondre) (Transact-SQL)
- _ (Caractère générique - recherche de correspondance d'un seul caractère) (Transact-SQL)