SQL> SELECT name
FROM donor
WHERE name BETWEEN J & R;
NAME
-- -- -- -- -- -- -- -
Jennifer Ames
Nancy Taylor
應該出現的名字是Robert Brooks。但是Ro比R大,所以我不知道該怎麼做。輸出使用BETWEEN子句缺少名稱SQL
SQL> SELECT name
FROM donor
WHERE name BETWEEN J & R;
NAME
-- -- -- -- -- -- -- -
Jennifer Ames
Nancy Taylor
應該出現的名字是Robert Brooks。但是Ro比R大,所以我不知道該怎麼做。輸出使用BETWEEN子句缺少名稱SQL
這應該讓你有:
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
你可以使用一個字母了字母表?
... between 'J' and 'S'
不,我必須在這裏使用J和R. –
@JBen - 爲什麼你**必須**使用J和R?羅傑所說的是非常有意義的。唯一的問題是如果你有一個名字完全是'S',因爲它會選擇那個,但否則這個建議確實**你需要的。如果你需要避免接受'S',那麼你可以說'where name> ='J'和名字''S''。與「正確的」答案相比,如果你有一個'name'索引,這種方法會更快,因爲使用'substr'意味着查詢引擎**不能**使用索引。 – mathguy
@mathguy網站上的說明聲明不使用任何其他字母。 –
非常感謝alexgibbs –