0

两种语法有什么区别吗?

SELECT [dbo].[Employees].[FirstName]
FROM [dbo].[Employees]
WHERE [dbo].[Employees].[FirstName] NOT LIKE '[a-c]%';

SELECT [dbo].[Employees].[FirstName]
FROM [dbo].[Employees]
WHERE [dbo].[Employees].[FirstName] LIKE '[^a-c]%';
4

1 回答 1

3

一个将匹配一个空字符串。另一个不会。

对于更复杂的模式,几乎总是存在差异。特别是如果你开始利用双重否定,例如如果你有一个NOT LIKE '%[^0-9]%'模式,没有简单的方法可以减少它。

于 2013-06-11T17:06:42.747 回答