2017-05-08 4 views

答えて

1

これはそこにあなたを取得する必要があります。

SELECT name 
FROM donor 
WHERE SUBSTR(NAME,1,1) BETWEEN 'J' AND 'R'; 

SUBSTR機能は名前だけの最初の文字を比較します。

ここでは例です:

CREATE TABLE DONOR(
    NAME VARCHAR2(128) 
); 

INSERT INTO DONOR VALUES ('Jennifer Ames'); 
INSERT INTO DONOR VALUES ('Nancy Taylor'); 
INSERT INTO DONOR VALUES ('Robert Brooks'); 

SELECT name 
FROM donor 
WHERE SUBSTR(NAME,1,1) BETWEEN 'J' AND 'R'; 

結果:

NAME   
Jennifer Ames 
Nancy Taylor 
Robert Brooks 
+0

んが、私はここにJとRを使用する必要がない –

2

あなたは、アルファベットの次の文字を使用することができますか?

... between 'J' and 'S' 
+0

そんなにalexgibbsありがとうございます。 –

+1

@JBen - なぜJとRを使わなければならないのですか? Rogerが提案するものは完璧な意味合いを持っています。唯一の問題は、あなたがその名前を持っている人に正確に 'S'を持っている人がいる場合です。そうでなければ、あなたが必要とするものを**正確に**行います。 'S 'を避ける必要がある場合は、' where name> =' J 'と名前<' S ''と言うことができます。 ''正しい '答えと比較して、 'name'にインデックスがあれば、このアプローチはもっと速く動作します。なぜなら、' substr'を使うと、クエリエンジン**はインデックスを使うことができないからです。 – mathguy

+0

@mathguyウェブサイトの指示には、他の手紙を使用しないことが記載されています。 –

関連する問題