[ ] (carattere jolly) (Transact-SQL)
Si applica a: SQL Server Azure SQL Database
Istanza gestita di SQL di Azure Azure Synapse
Analytics Analytics
Platform System (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)