1

たとえば、データベースにこの名前があります

LastName
Amy
Betty
Camy
Daisy
David
Johnson

これは From Amy to David を選択したい場合にのみ機能します:

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

From Amy to Daisy のみを選択したい場合はどうすればよいですか?

4

1 に答える 1

2

(おそらく、あなたが質問に含めるのを忘れた何かが欠けているでしょうが)なぜ人生を必要以上に難しくするのですか:

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

SQL フィドル


コメントに返信するには、次の方法があります。

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

これを示すSQL Fiddleは、1 回のインデックス シークが発生するはずです。

于 2013-08-17T17:17:03.173 に答える