[ ] (carattere jolly) (Transact-SQL)

Si applica a: SQL Server (tutte le versioni supportate) Database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics Piattaforma di strumenti analitici (PDW)

Rileva la corrispondenza con uno dei caratteri inclusi nell'intervallo o set racchiuso tra parentesi quadre [ ]. È possibile usare i caratteri jolly nei confronti di stringhe che prevedono l'uso di criteri di ricerca, ad esempio LIKE e PATINDEX.

Esempi

A. Esempio semplice

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 % indica che il terzo carattere può essere qualsiasi o nessuno. 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]%';

Questo è il set di risultati.

name
-----
model
msdb

È possibile che siano installati altri database che soddisfano i criteri.

B. Esempio più complesso

L'esempio seguente usa l'operatore [] per trovare gli ID e i nomi di tutti i dipendenti di Adventure Works il cui indirizzo include un codice postale a quattro cifre.

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

Questo è il set di risultati.

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

C: Uso di un set che combina intervalli e caratteri singoli

Un set di caratteri jolly può includere sia caratteri singoli sia intervalli. Nell'esempio seguente viene usato 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!@#$.,;_]%';

Questo è il set di risultati.

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

Vedere anche

LIKE (Transact-SQL)
PATINDEX (Transact-SQL)
% (carattere jolly) (Transact-SQL)
[^] (carattere jolly) (Transact-SQL)
_ (carattere jolly per corrispondenze di singoli caratteri) (Transact-SQL)