[] (Wildcard - personaggi da abbinare) (Transact-SQL)

Si applica a:SQL ServerDatabase SQL di AzureIstanza gestita di SQL di AzureAzure Synapse AnalyticsPiattaforma di analisi (PDW)Endpoint di analisi SQL in Microsoft FabricMagazzino in Microsoft FabricDatabase SQL in Microsoft Fabric

Corrisponde a qualsiasi singolo carattere all'interno dell'intervallo o dell'insieme specificato tra parentesi ([ e ]). È possibile usare i caratteri jolly nei confronti di stringhe che prevedono l'uso di criteri di ricerca, ad esempio LIKE e PATINDEX.

Examples

Gli esempi di codice in questo articolo usano il database di esempio AdventureWorks2025 o AdventureWorksDW2025, che è possibile scaricare dalla home page Microsoft SQL Server Samples and Community Projects.

A. Esempio di base

L'esempio seguente restituisce i nomi che iniziano con la lettera m. [n-z] specifica che la seconda lettera deve essere inclusa nell'intervallo tra n e z. Il carattere jolly % percentuale consente qualsiasi carattere o nessun carattere a partire dal terzo carattere. I database model e msdb soddisfano questi criteri. Il database master non soddisfa i criteri e viene escluso dal set di risultati.

SELECT name FROM sys.databases
WHERE name LIKE 'm[n-z]%';

Il set di risultati è il seguente.

name
-----
model
msdb

Potrebbero essere installati più database idonei.

B. Esempio più complesso

Il seguente esempio utilizza l'operatore [] per trovare gli ID e i nomi di tutti i dipendenti di Adventure Works che hanno indirizzi con un codice postale a quattro cifre.

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]';

Il set di risultati è il seguente.

EmployeeID      FirstName      LastName      PostalCode
----------      ---------      ---------     ----------
290             Lynn           Tsoflias      3000

C. Usare un set che combina intervalli e singoli caratteri

Un set di caratteri jolly può includere sia caratteri singoli sia intervalli. Il seguente esempio utilizza l'operatore [] per trovare una stringa che inizia con un numero o una serie di caratteri speciali.

SELECT [object_id], OBJECT_NAME(object_id) AS [object_name], name, column_id
FROM sys.columns
WHERE name LIKE '[0-9!@#$.,;_]%';

Il set di risultati è il seguente.

object_id     object_name                          name    column_id
---------     -----------                         ----  ---------
615673241     vSalesPersonSalesByFiscalYears      2002    5
615673241     vSalesPersonSalesByFiscalYears      2003    6
615673241     vSalesPersonSalesByFiscalYears      2004    7
1591676718    JunkTable                           _xyz  1