[ ] (carattere jolly - caratteri da associare) (Transact-SQL)
Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics Piattaforma di strumenti analitici (PDW) Endpoint di analisi SQL in Microsoft Fabric Warehouse in Microsoft Fabric
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]%';
Il set di risultati è il seguente.
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]';
Il set di risultati è il seguente.
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!@#$.,;_]%';
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
Vedi anche
LIKE (Transact-SQL)
PATINDEX (Transact-SQL)
% (carattere jolly - Caratteri da associare) (Transact-SQL)
[^] (Carattere jolly - Caratteri non corrispondenti) (Transact-SQL)
_ (carattere jolly - Corrispondenza di un carattere) (Transact-SQL)