NOT LIKE和'[^ string]'之间的区别

时间:2013-06-11 16:48:40

标签: sql sql-server

2种语法之间有什么区别吗?

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]%';

1 个答案:

答案 0 :(得分:3)

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

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