Condividi tramite


[^] (Carattere jolly - Caratteri non corrispondenti) (Transact-SQL)

Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure

Corrisponde a un qualsiasi carattere non compreso nell'intervallo o nel set specificato tra le 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

Nell'esempio seguente viene usato l'operatore [^] per individuare le 5 persone più in alto nella tabella Contact il cui nome inizia con Al e non contiene la lettera a come terzo carattere.

-- Uses AdventureWorks  
  
SELECT TOP 5 FirstName, LastName  
FROM Person.Person  
WHERE FirstName LIKE 'Al[^a]%';  

Il set di risultati è il seguente.

FirstName     LastName
---------     --------
Alex          Adams
Alexandra     Adams
Allison       Adams
Alisha        Alan
Alexandra     Alexander

B: Ricerca di intervalli di caratteri

Un set di caratteri jolly può includere caratteri singoli o intervalli di caratteri e anche combinazioni di caratteri e intervalli. Nell'esempio seguente viene usato l'operatore [^] per trovare una stringa che non inizia con una lettera o un numero.

SELECT [object_id], OBJECT_NAME(object_id) AS [object_name], name, column_id 
FROM sys.columns 
WHERE name LIKE '[^0-9A-z]%';

Il set di risultati è il seguente.

object_id     object_name   name    column_id
---------     -----------   ----    ---------
1591676718    JunkTable     _xyz    1

Vedi anche

LIKE (Transact-SQL)
PATINDEX (Transact-SQL)
% (carattere jolly - Caratteri da associare) (Transact-SQL)
[ ] (carattere jolly - caratteri da associare) (Transact-SQL)
_ (carattere jolly - Corrispondenza di un carattere) (Transact-SQL)