2013-08-17 127 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

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