首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL between逻辑

SQL between逻辑
EN

Stack Overflow用户
提问于 2012-03-18 00:28:26
回答 2查看 434关注 0票数 0

假设我想列出包含最小和最大容量(即大于和等于/小于和等于)的场所名称和价格,使用下面的SQL语句就足够了吗?有没有更好的方式来呈现它?

代码语言:javascript
复制
SELECT * FROM rooms WHERE capacity between '$minimum' AND '$maximum'

我只是想知道,因为它让我有点困惑。

如果最小值为0,最大值为1000 -SQL选择满足语句条件的行背后的逻辑是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-18 00:36:37

是的,这是正确的。有关BETWEEN如何工作的解释,请参阅§11.3.2 "Comparison Functions and Operators" in the ;正如您所看到的,它确实提供了一个包含性的最小值和最大值,就像您需要的那样。

也就是说,尽管您的查询是完全正确的,但将'$minimum' AND '$maximum'更改为$minimum AND $maximum (没有引号)可能更好,这样在视觉上就可以清楚地看到这些是数字,而不是字符串。

票数 2
EN

Stack Overflow用户

发布于 2012-03-18 00:37:08

对我来说,这看起来很好,但我不知道你在困惑什么。"between“条件选择从$minimum到$maximum的所有内容,就像您说的那样。

根据this page的说法,一些(未命名的)数据库将BETWEEN实现为独占而不是包含的(也就是说,它不会选择等于$minimum或$maximum的值)。因此,用两个显式的不等式代替你的标准可能会更安全:

代码语言:javascript
复制
where capacity >= $minimum and capacity <= $maximum
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9751670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档