标签: between

SQL BETWEEN用于文本与数值

BETWEENWHERE子句中用于选择两个值之间的数据范围.
如果我是正确的,是否排除范围的端点是DBMS特定的.
我无法理解的内容如下:
如果我有一个值表,我会执行以下查询:

SELECT food_name 
    FROM health_foods 
    WHERE calories BETWEEN 33 AND 135;`  
Run Code Online (Sandbox Code Playgroud)

查询返回结果行,包括卡路里= 33和卡路里= 135(即包括范围端点).

但如果我这样做:

SELECT food_name 
    FROM health_foods 
    WHERE food_name BETWEEN 'G' AND 'O';
Run Code Online (Sandbox Code Playgroud)

没有food_name开头的行O.即排除范围的结束.
为了使查询按预期工作,我键入:

SELECT food_name 
    FROM health_foods 
    WHERE food_name BETWEEN 'G' AND 'P';`   
Run Code Online (Sandbox Code Playgroud)

我的问题是为什么BETWEEN数字和文本数据会有这样的差异?

mysql sql varchar numbers between

13
推荐指数
2
解决办法
2万
查看次数

BETWEEN运算符与> = AND <=:是否存在性能差异?

这两个陈述在逻辑上是等价的:

SELECT * FROM table WHERE someColumn BETWEEN 1 AND 100

SELECT * FROM table WHERE someColumn >= 1 AND someColumn <= 100
Run Code Online (Sandbox Code Playgroud)

一个与另一个有潜在的性能优势吗?

sql-server performance between

12
推荐指数
1
解决办法
9997
查看次数

Three.js - 如何计算两个3D位置之间的距离?

我已经尝试在Google上搜索几种不同的内容.似乎我找不到任何东西.以为我不妨将问题上传到Stack Overflow.

谢谢!

camera mesh distance between three.js

12
推荐指数
2
解决办法
2万
查看次数

CakePHP查找两个日期之间的查询条件

我的数据库中有一个开始和结束日期,表单字段中有一个$ date变量.我现在正在尝试查询所有行,其中$ date是db中的开始/结束日期,或者是这两行之间的任何日期.

这与daysAsSql如何工作的文档中描述的内容相反.我无法弄清楚如何让它发挥作用.以下行不能用作控制器中的查找条件:

'? BETWEEN ? AND ?' => array($date, 'Item.date_start', 'Item.date_end'),
Run Code Online (Sandbox Code Playgroud)

任何帮助是极大的赞赏.这真让我抓狂.

这是完整的Query和相应的SQL:

$conditions = array(
            'conditions' => array(
            'and' => array(
                '? BETWEEN ? AND ?' => array($date, 'Item.date_start', 'Item.date_end'),
                'Item.title LIKE' => "%$title%",
                'Item.status_id =' => '1'
                )));

        $this->set('items', $this->Item->find('all', $conditions));



WHERE (('2012-10-06' BETWEEN 'Item.date_start' AND 'Item.date_end') AND (`Item`.`title` LIKE '%%') AND (`Item`.`status_id` = 1))
Run Code Online (Sandbox Code Playgroud)

time cakephp date between

11
推荐指数
2
解决办法
4万
查看次数

为只有一个匹配的Between查询索引SQL?

我们有一个包含超过两百万行的表,其中对它的所有查询都是一个使用Column1和的查找Column2.此外,只有一个可能的结果.例如...

Col1     Col2
1        5
6        10
11       15

select * from table1 where 8 between Col1 and Col2
Run Code Online (Sandbox Code Playgroud)

我目前在Col1和上有一个唯一的聚簇索引Col2.到目前为止,我一直无法弄清楚如何进一步调整查询和索引以最小化处理的行.执行计划目前报告在找到一个唯一正确答案时处理的成本几乎为0.5和113k行.

我可以忽略哪些选项?

根据要求,当前执行计划的一些细节:

Operation
 Clustered Index Seek
Predicate
 CONVERT_IMPLICIT(bigint,[@2],0)<=[Col2]
Seek Predicate
 Seek Keys[1]: End: Col1 <= Scalar Operator(CONVERT_IMPLICIT(bigint,[@1],0))
Run Code Online (Sandbox Code Playgroud)

sql indexing between

11
推荐指数
2
解决办法
1522
查看次数

日期之间的日期,忽略年份

如果日期是独立于年份的日期范围,那么比较最好(最快)的方法是什么?

表"日期":

    some_column| since        | upto        |  
    -----------|--------------|-------------|
   'foo'       | '2011-05-01' | '2013-06-01'|
Run Code Online (Sandbox Code Playgroud)

现在我希望这个查询返回'foo'

SELECT foo FROM dates WHERE '2014-05-05' BETWEEN `since` AND `upto`
Run Code Online (Sandbox Code Playgroud)

如果需要,我可以在"日期"表中更改存储日期的类型/格式,但我无法更改我放入查询的日期格式,因为该值通常来自另一个表(它是使用连接的更复杂查询的一部分).

mysql date between

10
推荐指数
2
解决办法
2662
查看次数

日期之间的条件选择

我有一张桌子,想找到最低和最高价格.我希望在"from"和"to"之间的当前日期从action_table获得最低价格.

from        to          action_price  price
2015-04-02  2015-08-02  20            25
2015-04-02  2015-04-20  0             30
2015-04-03  2015-04-21  0             40
Run Code Online (Sandbox Code Playgroud)

所以从上表我需要:min-> 20(因为"from"/"to"之间的当前日期)和max-> 40

我尝试了类似的东西,但没有按预期工作:

SELECT 
CASE WHEN curdate() BETWEEN from AND to THEN MAX(action_price) ELSE MAX(price) END AS max,
CASE WHEN curdate() BETWEEN from AND to THEN MIN(action_price) ELSE MIN(price) END AS min
FROM `table`;
Run Code Online (Sandbox Code Playgroud)

mysql sql datetime date between

10
推荐指数
1
解决办法
894
查看次数

SQL查询日期=今天减去7天

我在我的网站上有一个名为ExternalHits的SQL表.我将URL跟踪为URLx,以及将页面作为Datex访问的日期.我每周运行此查询以获取前一周的总点击次数,并且每周我必须手动更改"之间"日期.有没有什么方法可以更改我的查询,以便"之间"日期类似于今天和今天7?我想不必每周手动更改日期.

    SELECT URLX, COUNT(URLx) AS Count
    FROM ExternalHits
    WHERE datex BETWEEN '02/27/2017' AND '03/05/2017'    
    GROUP BY URLx
    ORDER BY Count DESC; 
Run Code Online (Sandbox Code Playgroud)

sql database sql-server between

10
推荐指数
3
解决办法
6万
查看次数

项目之间的点线

餐厅网站和菜单。我需要在菜单项和价格之间得到“点线”。我需要在不手动一一写点的情况下获得它。此功能应自动运行。

是否可以通过使用 span 或 div 等背景来创建它?

我在哪里

在此处输入图片说明

我需要去的地方

在此处输入图片说明

感谢您的提前。

css line between dotted-line

9
推荐指数
2
解决办法
1万
查看次数

如何使用Elixir Ecto中的"between"创建SQL

我想使用Elixir Ecto中的关键字"between"创建一个SQL.

我知道如何使用创建一个SQL like

where: like(t.descript, ^some_description)

但是,当我尝试以同样的方式做到这一点 like

where: between(t.start_date, ^start_date, ^end_date),

我收到了"无效"错误信息

** (Ecto.Query.CompileError) `between(t.start_date(), ^start_date, ^end_date)` is not a valid query expression.**
Run Code Online (Sandbox Code Playgroud)

我怎么能以正确的方式做到这一点?

提前致谢!!

between elixir ecto

9
推荐指数
2
解决办法
1738
查看次数