Skip to content

Latest commit

 

History

History
77 lines (65 loc) · 2.87 KB

wildcard-character-s-not-to-match-transact-sql.md

File metadata and controls

77 lines (65 loc) · 2.87 KB
title titleSuffix description author ms.author ms.date ms.service ms.subservice ms.topic ms.custom f1_keywords helpviewer_keywords dev_langs monikerRange
[^] Wildcard to exclude characters
SQL Server (Transact-SQL)
T-SQL wildcard for characters not to match
rwestMSFT
randolphwest
12/06/2016
sql
t-sql
reference
ignite-2024
wildcard
[^]_TSQL
[^]
Not Match
wildcard characters [SQL Server]
[^] (wildcard - character(s) not to match)
TSQL
=azuresqldb-current || >=sql-server-2016 || >=sql-server-linux-2017 || =azuresqldb-mi-current || =fabric

[^] (Wildcard - Character(s) Not to Match) (Transact-SQL)

[!INCLUDE SQL Server Azure SQL Database Azure SQL Managed Instance Fabricsqldb]

Matches any single character that is not within the range or set specified between the square brackets [^]. These wildcard characters can be used in string comparisons that involve pattern matching, such as LIKE and PATINDEX.

Examples

A: Simple example

The following example uses the [^] operator to find the top 5 people in the Contact table who have a first name that starts with Al and has a third letter that is not the letter a.

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

[!INCLUDEssResult_md]

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

B: Searching for ranges of characters

A wildcard set can include single characters or ranges of characters as well as combinations of characters and ranges. The following example uses the [^] operator to find a string that does not begin with a letter or number.

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

[!INCLUDEssResult_md]

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

See Also

LIKE (Transact-SQL)
PATINDEX (Transact-SQL)
% (Wildcard - Character(s) to Match) (Transact-SQL)
[ ] (Wildcard - Character(s) to Match) (Transact-SQL)
_ (Wildcard - Match One Character) (Transact-SQL)