Nota
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare ad accedere o a cambiare directory.
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare a cambiare 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
Gli esempi di codice in questo articolo usano il database di esempio AdventureWorks2025 o AdventureWorksDW2025, che è possibile scaricare dalla home page Microsoft SQL Server Samples and Community Projects.
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
...