[^] (ワイルドカード - 一致しない文字列) (Transact-SQL)
適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance
角かっこで囲んで指定された範囲またはセット [^]
に含まれない任意の 1 文字と一致します。 これらのワイルドカード文字は、LIKE
や PATINDEX
などのパターン検索を含む文字列比較で使用できます。
例
A: 簡単な例
次の例では [^] 演算子を使用して、Contact
テーブル内で、名前が Al
で始まり、かつ 3 文字目が文字 a
ではない上位 5 人を検索します。
-- Uses AdventureWorks
SELECT TOP 5 FirstName, LastName
FROM Person.Person
WHERE FirstName LIKE 'Al[^a]%';
結果セットは次のとおりです。
FirstName LastName
--------- --------
Alex Adams
Alexandra Adams
Allison Adams
Alisha Alan
Alexandra Alexander
B: 文字の範囲の検索
ワイルドカード セットには、1 文字または文字の範囲に加えて、文字と範囲の組み合わせも含めることができます。 次の例では、[^] 演算子を使用して、文字または数字で始まらない文字列を検索します。
SELECT [object_id], OBJECT_NAME(object_id) AS [object_name], name, column_id
FROM sys.columns
WHERE name LIKE '[^0-9A-z]%';
結果セットは次のとおりです。
object_id object_name name column_id
--------- ----------- ---- ---------
1591676718 JunkTable _xyz 1
参照
LIKE (Transact-SQL)
PATINDEX (Transact-SQL)
% (ワイルドカード - 一致する文字列 (Transact-SQL)
[ ] (ワイルドカード - 一致する文字列) (Transact-SQL)
_ (ワイルドカード - 1 文字に一致) (Transact-SQL)