mysql检查两列之间的预订重叠时间

2023-12-31

我有一个表预订,其中有两列 job_time_beg 和 job_time_end,工作从 8:00 开始一直持续到 16:00 现在我需要确定可用时间是否与给定时间重叠,以便我知道我不想在给定时间内预订时间。

我在用

      select count(*)as cnt from orders
      where job_date = '2021-02-04'
      and job_truck  = '24'
      and ((job_time_beg >= '10:00' and job_time_beg < '12:00')
           or (job_time_end > '(11):00' and job_time_end <= '12:00'))
        AND order_status_id in (1,5)

这在大多数情况下工作正常,但如果在 8:00 和 11:00 之间有预订,则此查询不起作用,并显示 10:00 到 12:00 的时间可用,该时间在 8:00 和 11:00 之间重叠 我也尝试过

SELECT count(*) as cnt
FROM orders
 WHERE
 job_date = '$data'
      and job_truck  = '$truck' and
(
   '$start' BETWEEN job_time_beg and job_time_end 
   OR
   '$end' BETWEEN job_time_beg and job_time_end
)
        AND order_status_id in (1,5)

它适用于 8:00 和 11:00 重叠,但在预订可用时不起作用,如果我们预订 8:00 至 10:00 并且我们有时间,则前开始时间可以等于下一次预订的结束时间10:00 至 12:00 这不会重叠,因为我们可以从 10:00 开始安排下一次预订。

请看一下sql fiddlesqlfiddle http://sqlfiddle.com/#!9/a0b380/1


两个时间段重叠的逻辑是:

  • 第一个在第二个结束之前开始。
  • 第一个结束后第二个开始。

在您的查询中,逻辑将是:

SELECT count(*) as cnt
FROM orders
WHERE job_date = @job_date AND
      job_truck  = @truck AND
      @start < job_time_end AND
      @end > job_time_begin AND
      order_status_id IN (1, 5);

请注意命名参数的使用。不要将查询字符串与参数值混在一起!。参数可以防止意外且难以调试的语法错误。它们还保护代码免受 SQL 注入攻击。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mysql检查两列之间的预订重叠时间 的相关文章

  • 从类似 cronjob 的语法创建“下次运行时间”日期

    在我正在创建的应用程序中 用户可以安排重复任务 生成间隔模式的简单值是 Minute 0 59 90 each minute Hour 0 23 90 each hour Day of month 1 31 90 each day of m
  • MySQL InnoDB 约束不起作用

    我偶然发现 innoDB 约束的奇怪行为 但找不到原因 我有包含数据的表格 下面列出了它们的结构 CREATE TABLE contents id int 10 unsigned NOT NULL AUTO INCREMENT title
  • MySQL:@@ 是什么意思?

    我正在阅读本页上的 MySQL 文档 http dev mysql com doc refman 5 1 en set statement html http dev mysql com doc refman 5 1 en set stat
  • 拥有更多列或更多行会更高效吗?

    我目前正在重新设计一个可能包含大量数据的数据库 我可以选择在数据库中包含许多不同的列或使用大量行 如果我在下面做一些大纲 可能会更容易 item id user id title description content category t
  • 如何在HTML中的PHP中注释掉HTML和PHP?

    这是我想注释掉的一行代码 h1 class post title a href title a h1 一种流行的注释方法是分别注释 html 和 php 有一个更好的方法吗
  • 使用 DISTINCT 进行查询需要很长时间

    我正在使用 Microsoft Access 2003 我的项目中的一个表单需要很长时间才能向用户显示 这是适用的查询 SELECT DISTINCT tb KonzeptDaten DFCC tb KonzeptDaten OBD Cod
  • 使用 Instagram Basic Display API 时出现“无效平台应用程序”错误

    我正在尝试使用 Instagram Basic 显示 API 但是当我发布授权代码以获取访问令牌时 我不断收到以下错误 error type OAuthException 代码 400 error message 平台应用无效 我正在遵循此
  • 在 WooCommerce 中添加到购物车之前清空购物车

    我正在使用 WP 作业管理器和 Woo Subscriptions Now 最初 我选择了一个套餐 Woo Subscription 然后我添加了所有细节 但没有提交 回到网站 所以要再次购买 我需要选择一个套餐 于是我选择了套餐并填写了详
  • Facebook PHP SDK - 如何获取访问令牌?

    我正在尝试从我的应用程序在用户的 Facebook 墙上发帖 用户授予应用程序在他的墙上发布的权限 并且我在数据库中有用户ID 我需要自动发送帖子 而无需用户再次登录 我的代码是 try require once dirname FILE
  • PHP print_r() 中 _r 的含义是什么?

    我见过这个答案 https stackoverflow com questions 13103410 what does r suffix mean就这样 但我不确定它对于 PHP 是否相同 如果是 可重入的含义是什么 From PHP n
  • PHP 中的引用

    我正在编写一个自定义博客引擎 并且希望拥有类似于 Wordpress 的引用 我可以查看 WordPress 源代码 但我真的更喜欢某种教程 但到目前为止我还没有找到 有没有关于在 PHP5 中实现 trackbacks 或 pingbac
  • 奇怪的 MySQL Python mod_wsgi 无法连接到 'localhost' (49) 上的 MySQL 服务器问题

    StackOverflow上也有类似的问题 但我还没有发现完全相同的情况 这是在使用 MySQL 的 OS X Leopard 机器上 一些起始信息 MySQL Server version 5 1 30 Apache 2 2 13 Uni
  • 如何通过ssh检查ubuntu服务器上是否存在php和apache

    如何通过ssh检查Ubuntu服务器上apache是 否安装了php和mysql 另外如果安装的话在哪个目录 如果安装了其他软件包 例如 lighttpd 那么它在哪里 确定程序是否已安装的另一种方法是使用which命令 它将显示您正在搜索
  • 重用 t-sql 游标的起始位置?

    我正在开发一个在临时表上使用游标的存储过程 我已经阅读了一些关于为什么不需要游标的内容 但在这种情况下我相信我仍然需要使用游标 在我的过程中 我需要遍历表的行两次 声明游标后 已经单步执行临时表并关闭游标 重新打开时游标的位置是否仍保留在表
  • 我可以在 PHP 会话变量中安全地存储用户名和密码吗?

    我想在 REST api 之上制作一个轻量级的 web 应用程序 用户只需进行一次身份验证 从那时起 所有针对 web api 的请求都希望通过以某种方式保持用户名和密码有效来完成 我已经做了一个工作原型我在哪里将用户名和密码存储在会话变量
  • SQL Server:如果存在会大大减慢查询速度

    正在使用SQL Server 2012 我找到了一些关于查询优化的主题 并将 EXISTS 与 COUNT 进行比较 但我找不到这个确切的问题 我有一个看起来像这样的查询 select from tblAccount as acc join
  • Oracle REGEXP_INSTR() 和“a-z”字符范围与预期不匹配

    我想用REGEXP INSTR 在 oracle 数据库中检查小写 大写字符 我知道 upper and lower POSIX 字符类 但我选择了a z这给了我非常奇怪的结果 我不明白 有人可以解释一下吗 SELECT REGEXP IN
  • 从字符串中获取数字

    我有一个字符串 例如 lorem 110 ipusm 我想获取 110 我已经尝试过这个 preg match all 0 9 string ret 但这正在返回 Array 0 gt 1 1 gt 1 2 gt 0 我想要这样的东西 Ar
  • 如何清除 APC 缓存而不使 Apache 崩溃?

    如果 APC 存储大量条目 清除它们会导致 httpd 崩溃 如果 apc clear cache user 花费的时间超过 phps max execution time 调用 apc clear cache 的脚本 将在之前被 php
  • 使用 PHP 将 latin1_swedish_ci 转换为 utf8

    我有一个数据库 里面充满了类似的值 Dhaka 应该是 Dhaka 因为我在创建数据库时没有指定排序规则 现在我想修复它 我无法从最初获取数据的地方再次获取数据 所以我在想是否可以在 php 脚本中获取数据并将其转换为正确的字符 我已将数据

随机推荐

  • 在 CONTAINSTABLE 中未找到接近的匹配项

    I am using SQL Server 2008 DDL CREATE TABLE dbo t words varchar 1000 NULL id int IDENTITY 1 1 NOT NULL ON PRIMARY DML in
  • 如何从 WordPress 中的另一个 PHP 文件访问数组变量?

    我添加了一些自定义代码来动态显示 WordPress 主题中的社交网络图标 方法是使用定制API https developer wordpress org themes customize api 阻止它按预期工作的唯一问题是我需要找到一
  • Raphael 中的委托拖动功能

    使用 Raphael 我希望能够拖动包含文本对象的形状 下例中的椭圆 拖动形状或文本 我希望通过设置传递给文本元素的函数来做到这一点drag 委托给关联形状的方法 尝试使用更加多态的方法来另一个 https stackoverflow co
  • RTK 查询:一次性转换所有查询响应

    通过 RTK 查询 端点的响应可以转换为transformResponse https redux js org tutorials essentials part 8 rtk query advanced transforming res
  • “使用 POSTMAN 发布图像数据”

    我正在尝试将数据发布到我的 API 我有一个模型image字段其中 image models ImageField 我的本地盒子上有一张图像 我正在尝试发送该图像 我发送正确吗 id 3 uid 273a0d69 uuid 90 image
  • C# Azure 存储 Blob 上传 TransactionScope

    是否有某个类允许在 azure blockblob 操作上使用 transactionscope 进行回滚 我想让这个工作 CloudBlockBlob blockBlob private void UploadPicture Stream
  • 访问自定义授权 MVC4 Web Api 中的 post 或 get 参数

    是否可以通过 HttpActionContext 对象访问 post 或获取参数 我有一组传感器 用于将数据记录到提供 REST API 的 Web 服务器 我想引入某种身份验证 授权 让传感器在数据中包含其硬件 ID 然后在数据库中查找该
  • 当我在cmd上运行meteor应用程序时它崩溃了

    我是流星新手 请帮忙 我创建了我的第一个应用程序 但是当我尝试运行它以便可以在浏览器上查看它时 我收到以下错误消息 C projects myapp gt meteor C projects myapp gt Started proxy g
  • 使用 R 合并数据帧的互补行

    我有这样一个数据框 0 weekday day month year hour basal bolus carb period h 1 Tuesday 01 03 2016 0 0 0 25 NA NA 0 2 Tuesday 01 03
  • 调用方法的义务

    在VB NET 中 当您创建用户控件类时 您有义务在构造函数中调用子InitializeComponent 如果不这样做 您将收到如下警告消息 Public Sub New 中 设计者生成的类型 MyUserControl 应该调用 初始化
  • 方法链和流畅接口之间的区别

    我想知道方法链接和流畅接口之间的确切区别 据我了解 方法链只是运行先前方法返回对象的方法 同时避免临时变量 这方面的一个例子可能是 Integer parseInt str intValue 相对于Fluent Interface 对象的每
  • 使用clearTimeout取消超时事件

    我有以下代码 但明确的超时不起作用 我不明白为什么 有人有任何想法吗 使用Prototype框架 function foo navigation observe mouseover function event clearTimeout b
  • MVVM - 从 ViewModel 后面的代码中调用 UI 逻辑

    我正在使用 MVVM 模式开发一些 Net XAML 应用程序 根据 MVVM 我将应用程序逻辑保留在 VM 中 并在代码隐藏中执行与 UI 相关的操作 但我需要在Code Behind中执行一些UI相关的代码来响应VM中的一些逻辑 例子
  • 从文本文件读取并存储在字符串中[重复]

    这个问题在这里已经有答案了 我们如何从文本文件中读取数据并将其存储在字符串变量中 是否可以在方法中传递文件名 然后返回文件中的文本字符串 我必须导入哪些类型的实用程序 一份陈述清单会很棒 这些是必要的进口 import java io Bu
  • RVM ruby​​ on Rails 问题 OpenSSL

    当我创建 Rails 应用程序时 我遇到了一些错误 但我不知道它们的含义或如何修复它们 我认为这可能是获得帮助的最佳方法 而不是解释我将输出正在发生的事情 j3 j3 code rails projects rails new first
  • 在单元测试期间模拟 Angular2 中的自定义服务

    我正在尝试为我的服务中使用的组件编写单元测试 组件和服务工作正常 成分 import Component from angular core import PonyService from services import Pony from
  • ExcludeFoldersFromDeployment 在发布配置文件中不起作用

    我尝试使用 ExcludeFoldersFromDeployment 排除发布配置文件中的文件夹 但在发布到 azure app 服务时它不是 wxinclude 文件夹位置 a b c 文件夹名称 如果有人可以帮忙请告诉我 如果您在此环境
  • 有条件 if 对于许多值,更好的方法

    有没有更好的方法来处理检查多个值 当我有超过 3 个选择时 事情就开始变得非常忙碌 if myval something myval other myval third PHP有一个函数叫做in array 像这样使用 in array m
  • C 语言蓝牙编程 - 安全连接和数据传输

    我正在尝试用 C 编写程序通过蓝牙发送 接收数据 我参考了 Albert Huang 写的一本书 里面有示例程序和很好的信息来源 关联 https people csail mit edu albert bluez intro index
  • mysql检查两列之间的预订重叠时间

    我有一个表预订 其中有两列 job time beg 和 job time end 工作从 8 00 开始一直持续到 16 00 现在我需要确定可用时间是否与给定时间重叠 以便我知道我不想在给定时间内预订时间 我在用 select coun