问题标签 [between]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - Mysql子查询之间
我正在使用 CakePHP 中的 ACL,并希望获取当前用户允许的所有条目。
简化,我有两个表:
间隔:
阿科斯:
现在我想从 Interval 获取在 lft 和 rght 之间具有 lft 和 rght 值的 foreign_keys FROM Acos
在上面的例子中,我们得到了 foreign_key 3、5、6。
在旁注中。“间隔”表实际上并不存在。值来自此查询(也是 acos 表):
我不希望上面的例子太乱。如果有任何不确定性,请发表评论。先感谢您!
php - PHP:如何确定一个变量的值是否介于两个不同的常量值之间?
如何确定使用 PHP 代码,例如,我有一个具有值的变量
- 在 1 到 10 之间,或
- 20到40之间?
mysql - MySQL跨日期范围的求和值
我有一个表格,每一行都包含一个日期和一些任意的数值。我需要为特定但动态的日期间隔对这个值求和。
以下查询返回上述数据集的正确输出,并应说明我正在尝试做什么,但是,我需要根据work_date
. 日子 (16, 15) 从未改变。具体来说,此查询将生成两行,一行用于指定的时间间隔,另一行用于其余时间,其中我需要为每个周期(N 月 16 日至 N+1 月 15 日,所有月份都有值)写一行。
另一个可以正常工作但间隔错误的替代示例(第 01-31 天):
此外,如果有一种方法可以同时输出起始日期和结束日期,我也希望这样做,但这不是很重要。
mysql - 两列之间的mysql选择工作太慢
我有这个查询:
它严重使用索引(使用,但解析表的大部分)并且工作太慢。我尝试使用 ORDER BY 和 LIMIT,但没有帮助。
“开始 <= 1840344811 AND 1840344811 <= 停止” 工作类似。
表有 57,424 行。
解释查询“... BETWEEN START AND STOP ORDER BY START LIMIT 1”:使用键stop
并获得 24099 行。没有顺序和限制,mysql 不使用键并获取所有行。
sql - c# Sql之间的语句
我正在尝试对客户账单进行排序,我需要按不同的时间段对它们进行排序。
我一直在尝试的是:
还
start = 日期的开始期间 stop = 期间的结束
我收到的错误消息是
关键字“between”附近的语法不正确。
objective-c - 目标 C,SQLite SELECT BETWEEN 问题
我正在尝试根据 UNIX 时间戳从 SQLite 数据库中提取记录,该时间戳由滚动条选择。Each record has a timestamp and a duration so when the selected timestamp is after the start time and after the start time plus the duration it's to be selected.
我写了一个查询,我认为它不仅可以工作,而且可以在我拥有但不使用 XCode 附带的 SQLite 的 SQLite 客户端中工作。
这是我的查询。时间戳是选定的时间戳,戳字段是记录时间戳,持续时间是预订的长度(以分钟为单位)。
我可以看到使用我拥有的客户端工作的唯一原因是 SQLite 的版本不同,并且 BETWEEN 命令不受支持或不以相同的方式受支持。
任何建议或帮助将不胜感激。谢谢!
sql - 如何在同一列或不同列的一个 sql 语句中两次使用“BETWEEN”条件
这是 sql 语句只给出一个值
我想对同一列或同一表中的不同列多次使用“之间”
例如,我想在 date1 中多次使用它,或者我想将它用于具有不同范围的 date1 和 date2
注意:我正在使用 java DB Derpy(JDBC-Derby)
sql-server - 两个日期时间字段之间的 SQL Server,无法正常工作
SQL Server 2005:
以下视图
结果为关键日期 2011 年 3 月 2 日至 2011 年 3 月 31 日。
如果我将第一个日期更改为 03/00/2011
它现在提供日期为 2011 年 3 月 1 日至 2011 年 3 月 31 日的数据
KeyedTimestamp 字段是 DateTime,并且有与这些记录相关联的时间。2011 年 3 月 31 日的所有记录均已计算在内。我知道我可以通过在中间的第二个日期提供最大时间来做到这一点,所以我不是在寻找替代 where 子句,而是理解为什么它忽略第一个记录,即使它合并了这些记录从 31 日起。
几乎就像它检查 2011 年 3 月 1 日 23:59:59,我希望我可以消除这种我只关心日期而不是时间的检查
sql - Access 中的操作员之间
我正在研究 Access 数据库。我正在尝试编写一个查询以让用户选择开始日期和结束日期。以下是 Criteria 下设计视图中的查询:
在 [输入日期从(mm/dd/yyyy)] 和 [输入日期到(mm/dd/yyyy)] 之间
但是,在输入 04/01/2011 和 05/12/2011 之后,Access 数据库中的结果与以下查询中的结果不同。
访问:16,564 条记录
MS 查询:16,573 条记录
我猜这个时间应该是上午 12 点。如何让查询包含一直到晚上 11:59 的结束日期?
非常感谢!
php - 剖析数字范围
我试图找出生成 WHERE 查询的最有效方法。我之前问了另一个类似的问题,但我会直奔主题。
给定一个数字范围的集合,即1-1000
,1500-1600
创建一个 mysql where 条件来选择这些值之间的记录非常简单。
即,你会这样做:
WHERE (lft BETWEEN 1 and 1000) OR (lft BETWEEN 1500-1600)
. 但是,如果您也想合并 NOT BETWEEN 怎么办。
例如,如果您定义了多个规则,例如...
- 允许在 1 - 1000 之间
- 允许在 1500 - 1600 之间
- 允许在 1250 - 1300 之间
- 拒绝 25 - 50 之间
如何合并这些规则以有效地生成 WHERE 条件。我想在 WHERE 中剖析ALLOW BETWEEN 1 - 1000
,以便在其中创建一个间隙。这样它就会变成1-24
and 51-1000
。因为 DENY 规则是在第一条规则之后定义的,所以它会“覆盖”之前的规则。
另一个例子,假设你有
- 允许在 5 - 15 之间
- 拒绝 10 - 50 之间
- 允许在 45 - 60 之间
然后我想生成一个允许我执行的 WHERE 条件:
WHERE (lft BETWEEN 5 and 9) OR (lft BETWEEN 45 and 60)
.
注释(编辑)
- 此外,允许的最大范围是 1 - 5600000。(这将是“地球”)即。允许地球上的一切。
- 数字范围实际上是嵌套集模型中的 LEFT 值。这些不是唯一的键。您可以在我之前提出的这个问题中阅读我为什么要这样做。 https://stackoverflow.com/questions/6020553/generating-a-mysql-between-where-condition-based-on-an-access-ruleset
- 关于我的数字范围的可能重要说明我可能不应该使用我所做的示例示例,但关于数字范围性质的一个重要说明是,范围实际上应该始终完全消耗或被先前的规则消耗。比如我用上面的例子,10-50允许,45-60拒绝。这实际上不会在我的数据集中发生。它实际上是
allow 10-50
,那么 DENY 必须要么完全被该范围消耗,即 34-38。或者,完全使用前面的规则。9-51
. 这是因为范围实际上代表嵌套集合模型中的 lft 和 rgt 值,并且您不能像我介绍的那样有重叠。
问这个问题的时候我没有想到要提到,但是在看到下面的工作示例代码之后,我可以看到这个注释实际上很重要。
(根据下面的评论,编辑示例 mysql 以包含 OR 而不是 AND)