select * from account where userName like 'ad%';
select * from account where userName >= 'ad' and userName < 'ae';
/*
這兩種查詢的結果是一樣的,效率好像也差不多,沒有做具體的效率測試,有興趣可以測試下效率。
like查詢中的ad%是查詢ad開頭userName的數據,
而userName >= 'ad'就是查詢ad開頭的數據並且還包含ae、af、ag……,也就是說是查詢“ad”中包含d且大於“ad”中d的數據
所以,and userName < 'ad'就保證查詢的區間在“ad”中的,而ae、af、ag……這些數據就不會出現在結果集中。
當然你可以試試:
select * from account where userName >= 'ad' and userName < 'az';
結果集是不是包含:ae、af、ag……ak、al……ay、az等開頭的數據。
*/
作者:hoojo
出處:http://www.blogjava.net/hoojo/archive/2011/10/27/362173.html