2013-08-17 54 views
1

比如我有这个名字在数据库选择从区域名称

LastName 
Amy 
Betty 
Camy 
Daisy 
David 
Johnson 

这仅需要选择从艾米大卫的作品:

select * from Student 
where LastName >= 'A' and LastName <= char(ascii('D') + 1) 
order by LastName 

我怎么做,如果我只想选择从艾米到雏菊?

回答

2

(我可能失去了一些东西,你忘了你的问题,包括,但)为什么让生活难度比它必须是:

SELECT * 
FROM Student 
WHERE LastName BETWEEN 'Amy' AND 'Daisy' 
ORDER BY LastName 

SQL Fiddle


要回应评论,你可以做到这一点的一种方法是:

SELECT * 
FROM Student 
WHERE LastName >= 'Amy' 
AND (LastName <= 'Dai' OR LastName LIKE 'Dai%') 

SQL Fiddle证明这应该仍然导致单一索引寻求。

+0

我需要的是例如用户只能输入“戴”。雏菊应该包括在内 –

+0

@KarlxSwanovski好吧,我为你加了第二个选项 –

+0

正是我所需要的。谢谢 :) –