它是如何工作的^与int类型的T-SQL一样

use*_*375 -2 sql sql-server

我有Column KategoriID int类型(CategoryID)

select Name,KategoriID from Urunler
where KategoriID  Like '[^2]'
Run Code Online (Sandbox Code Playgroud)

我希望删除只有KategoriID = 2

当我写这个查询它删除所有KategoriID包含2对于例2,22,42,52 ID被删除.

为什么它像'[^ 2]%'一样工作?

Dav*_*idG 6

从SQL Server LIKE文档:

[^]任何不在指定范围([^ af])或集合([^ abcdef])内的单个字符.

所以[^2]意味着价值不是2.

此外,由于没有其他组件,因此它仅匹配非2的单个字符值.

你可以读它说,any single character that is not 2排除大于9的数字.