我有一个运行进程的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
答案 0 :(得分:4)
如果您使用的是SQL Server,则可以执行以下操作:
WHERE Name like 'M[a-m]%'
然而,生成范围,例如My-No,将更难表达。你可以随时做:
WHERE name >= 'Ma' and name < 'Mn'
也是。这适用于更复杂的范围。