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

Si applica a:SQL ServerDatabase SQL di AzureIstanza gestita di SQL di AzureAzure Synapse AnalyticsEndpoint 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

I campioni di codice in questo articolo utilizzano il AdventureWorks2025 database di esempi di ORAdventureWorksDW2025, che puoi scaricare dal repository GitHub Azure Data SQL Samples Repository.

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