sql - 使用 BETWEEN 子句 SQL 输出缺少名称

标签 sql database oracle logic

SQL> SELECT name

 FROM donor

 WHERE name BETWEEN J & R;

NAME

-- -- -- -- -- -- -- -

Jennifer Ames

Nancy Taylor

应该出现的名字是罗伯特·布鲁克斯。但是 Ro 比 R 大,所以我不确定该怎么做。

最佳答案

这应该让你到达那里:

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 

关于sql - 使用 BETWEEN 子句 SQL 输出缺少名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43854625/

相关文章:

mysql - 自增列 : differences in SQL syntax between Oracle and MySQL

mysql - 我在调用另一个存储过程时遇到困难

mysql - mysqldump 转储完整模式所需的最小授权? (触发器不见了!!)

Oracle 断开连接,尽管它有足够的进程/ session

javax.naming.NamingException,Tomcat7 和 Struts2 无法通过 JNDI 访问数据库资源

python - 我可以在 Django 的哪个位置运行需要模型的启动代码?

c# - ORA-01858 : a non-numeric character was found where a numeric was expected

sql - 我们可以减少更新语句中两个子查询之间的冗余吗?

sql - 数据库联接如何在分布式关系数据库中工作?

sql - 整洁的 SQL