mysql - SQL : Selecting the time range between two column

标签 mysql sql-server

我正在开发我的系统的一部分,称为患者记录管理系统,其中有一个预约管理,在预约中,您可以让其他人一旦占用某个时间段就无法使用,所以问题就在这里: 我的数据库中有 3 列:date(Date)、TimeIn(Time)、TimeOut(Time) 这就是我到目前为止所做的:

    sqlQuery = "SELECT * FROM appointment where date = '" & datePicker.Value.ToString("dd-MM-yyyy") & "' and TimeIn <= CAST('" & timeinPicker.value.ToString("HH:mm") & "' AS Time) and TimeOut >= CAST('" & timeoutPicker.value.ToString("HH:mm") & "' AS Time)"

例如,如果我将 12:00 放入 timeinPicker,将 13:00 放入 timeoutPicker,则应选择 12:00 到 13:00 之间的所有时间,但我的问题是它不会被选中,它只能选择它我准确地输入了 12:00 和 13:00,但是当我输入 12:01 和 12:59 时,sql 无法选择它,就像它不存在一样 有什么方法可以选择它们,以便我知道占用了哪些时间。

附注我正在使用 MySql

最佳答案

如果您使用的是java,则将&字符替换为+并尝试

sqlQuery = "SELECT * FROM appointment where date = '" + datePicker.Value.ToString("dd-MM-yyyy") + "' and TimeIn <= CAST('" + timeinPicker.value.ToString("HH:mm") + "' AS Timein) and TimeOut >= CAST('" + timeoutPicker.value.ToString("HH:mm") + "' AS Timeout)";

关于mysql - SQL : Selecting the time range between two column,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28802715/

相关文章:

php - 如何更新 CodeIgniter 更新中的特定字段?

sql - Microsoft SQL Server 选择 Top N 组

sql-server - 如何通过REST查询SQL Server获取XML

sql-server - SSIS并行处理foreach循环

mysql - 将 SQL 链接到 Access,重新查询显示 #Deleted

sql-server - 想要创建一个脚本来将数据、表和 View 导出到 sql 脚本

mysql - sql触发两个表不为空

php - 特权用户如何在 MySQL 上工作?

mysql - 帮助子查询!返回多于 1 行

c# - 对象引用未设置到对象(IP 地址比较)