Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
Database SQL di
AzureIstanza gestita di SQL di
AzureDatabase SQL in Microsoft Fabric
Usare il carattere _ di sottolineatura per trovare la corrispondenza con qualsiasi carattere singolo in un'operazione di confronto di stringhe che implica la corrispondenza dei criteri, 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 tutti i nomi di database che iniziano con la lettera m e la cui terza lettera è la lettera d. Il carattere di sottolineatura specifica che il secondo carattere del nome può essere qualsiasi lettera. I database model e msdb soddisfano questi criteri. Il database master non li soddisfa.
SELECT name FROM sys.databases
WHERE name LIKE 'm_d%';
Il set di risultati è il seguente.
name
-----
model
msdb
Potrebbero essere presenti database aggiuntivi che soddisfano questi criteri.
È possibile usare più caratteri di sottolineatura per rappresentare più caratteri. La modifica dei LIKE criteri in modo da includere due caratteri 'm__% di sottolineatura include il master database nel risultato.
B. Esempio più complesso
Nell'esempio seguente viene usato l'operatore _ per trovare tutte le persone nella Person tabella, con un nome di tre lettere che termina con an.
SELECT FirstName, LastName
FROM Person.Person
WHERE FirstName LIKE '_an'
ORDER BY FirstName;
C. Escape del carattere di sottolineatura
Nell'esempio seguente vengono restituiti i nomi dei ruoli predefiniti del database, ad esempio db_owner e db_ddladmin, ma restituisce anche l'utente dbo .
SELECT name FROM sys.database_principals
WHERE name LIKE 'db_%';
Il carattere di sottolineatura nella terza posizione del carattere viene assunto come carattere jolly e non filtra solo le entità a partire dalle lettere db_. Per eseguire l'escape del carattere di sottolineatura, racchiuderlo tra parentesi quadre [_].
SELECT name FROM sys.database_principals
WHERE name LIKE 'db[_]%';
Ora l'utente dbo è escluso.
Il set di risultati è il seguente.
name
-------------
db_owner
db_accessadmin
db_securityadmin
...