SQL查询,其中列中的名称以某个字母开头;澄清

时间:2018-02-22 20:56:37

标签: sql-server vb.net

我有一个运行进程的vb.net应用程序。为了加快速度,我将其拆分为多个线程,该流程要求员工按以下方式分组。

 SELECT * FROM Employ WHERE Name like '[A-C]%' ORDER BY RDate DESC

大多数情况下,我有像'AC'这样的团体,但恰好是'Ms'是最大的团体,所以我把它们变成了自己的团队,'MM',即使这还不够,他们的主题需要太长时间才能完成。所以我想制作两组像'Ma-Mm'和'Mn-Mz'。

只是将上述查询更改为这些字母的情况?像:

SELECT * FROM Employ WHERE Name like '[Ma-Mm]%' ORDER BY RDate DESC
SELECT * FROM Employ WHERE Name like '[Mn-Mz]%' ORDER BY RDate DESC

同时提供该名称列的索引,这是编写该查询的最佳方式吗?

编辑:我正在使用Ms SQL Server

1 个答案:

答案 0 :(得分:4)

如果您使用的是SQL Server,则可以执行以下操作:

WHERE Name like 'M[a-m]%' 

然而,生成范围,例如My-No,将更难表达。你可以随时做:

WHERE name >= 'Ma' and name < 'Mn'

也是。这适用于更复杂的范围。