如何写选择,使其在两个时间段之间仅返回一条记录

出色地

我有这些数据

Table: Shifts
---------------------------------
Shift_Start       Shift_End
---------------------------------
6:00              16:30
16:45             22:15
22:15             6:00 (Next day) 
----------------------------------

我只需要选择一条当前时间介于shift_start之间的记录shift_end

例如我试过

Select * from Shifts where current_time between shift_start and shift_end

或者

Select first 1, shift_start, shift_end from Shifts 
order by shift_end - current_time

但是没有什么能正常工作,有什么想法吗?

戈登·利诺夫

也许这会做您想要的:

Select *
from Shifts
where shift_start < shift_end and current_time between shift_start and shift_end or
      shift_start > shift_end and not current_time between shift_start and shift_end;

如果问题确实是如何只获得一场比赛:

Select first 1 *
from Shifts
where shift_start < shift_end and current_time between shift_start and shift_end or
      shift_start > shift_end and not current_time between shift_start and shift_end;

编辑:

要先返回匹配的时间段,然后再返回其他时间段,可以使用order by代替where

Select first 1 *
from Shifts
order by (case when shift_start < shift_end and current_time between shift_start and shift_end or
                    shift_start > shift_end and not current_time between shift_start and shift_end
               then 0 else 1
          end);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何计算两个时间段之间的时间?

来自分类Dev

如何在两个圆之间划一条线,使其与两个圆接触?

来自分类Dev

如何计算两个时间段之间的小时和分钟?

来自分类Dev

在R中,如何根据两个日期之间的时间段合并数据帧?

来自分类Dev

如何在 Excel 中的两个时间段之间生成随机小时槽?

来自分类Dev

C#Linq如何枚举两个日期之间的时间段以获取图表数据

来自分类Dev

从两个表中导出数据,但仅导出最后一条记录

来自分类Dev

Foreach循环(还是在一段时间内执行?)-仅根据页面返回一条记录

来自分类Dev

SQL查询从两个查询的结果返回0或1作为一条记录

来自分类Dev

在 Postgresql 中生成两个日期之间的一系列时间范围(重复时间段)

来自分类Dev

如果它为空angularjs,我该如何写一个条件http.get来创建一条记录

来自分类Dev

包括最后一个日期在内的两个日期之间的 20 天时间段

来自分类Dev

选择一条记录,即使其值较低的记录花费的时间过长且失败

来自分类Dev

在一条语句中为两个模型创建一条记录

来自分类Dev

vb net 排除两个日期时间之间的时间段

来自分类Dev

仅返回一条记录

来自分类Dev

如何仅使用NodeJS中的一条语句运行两个SQL查询

来自分类Dev

如何在画布上的两个点之间绘制一条曲线?

来自分类Dev

Graphviz,如何在两个节点之间使箭头居中(画一条直线)?

来自分类Dev

如何从其连接的两个顶点中选择一条边

来自分类Dev

mongodb:查询两个日期字段之间的时间段

来自分类Dev

如何合并两个内边框以使其成为圆圈中间的一条宽线?

来自分类Dev

在Java中,如何仅选择或过滤在特定时间段之间创建的文件

来自分类Dev

JasperReports:显示两个输入项之间的行,但不在最后一条记录之后

来自分类Dev

如何写一个sql来选择特定条件的记录

来自分类Dev

熊猫:比较两个时间段的总和?

来自分类Dev

加入两个时间段相交的地方

来自分类Dev

TimePeriodLibrary 将两个时间段相交

来自分类Dev

如何写这两个表的查询

Related 相关文章

  1. 1

    如何计算两个时间段之间的时间?

  2. 2

    如何在两个圆之间划一条线,使其与两个圆接触?

  3. 3

    如何计算两个时间段之间的小时和分钟?

  4. 4

    在R中,如何根据两个日期之间的时间段合并数据帧?

  5. 5

    如何在 Excel 中的两个时间段之间生成随机小时槽?

  6. 6

    C#Linq如何枚举两个日期之间的时间段以获取图表数据

  7. 7

    从两个表中导出数据,但仅导出最后一条记录

  8. 8

    Foreach循环(还是在一段时间内执行?)-仅根据页面返回一条记录

  9. 9

    SQL查询从两个查询的结果返回0或1作为一条记录

  10. 10

    在 Postgresql 中生成两个日期之间的一系列时间范围(重复时间段)

  11. 11

    如果它为空angularjs,我该如何写一个条件http.get来创建一条记录

  12. 12

    包括最后一个日期在内的两个日期之间的 20 天时间段

  13. 13

    选择一条记录,即使其值较低的记录花费的时间过长且失败

  14. 14

    在一条语句中为两个模型创建一条记录

  15. 15

    vb net 排除两个日期时间之间的时间段

  16. 16

    仅返回一条记录

  17. 17

    如何仅使用NodeJS中的一条语句运行两个SQL查询

  18. 18

    如何在画布上的两个点之间绘制一条曲线?

  19. 19

    Graphviz,如何在两个节点之间使箭头居中(画一条直线)?

  20. 20

    如何从其连接的两个顶点中选择一条边

  21. 21

    mongodb:查询两个日期字段之间的时间段

  22. 22

    如何合并两个内边框以使其成为圆圈中间的一条宽线?

  23. 23

    在Java中,如何仅选择或过滤在特定时间段之间创建的文件

  24. 24

    JasperReports:显示两个输入项之间的行,但不在最后一条记录之后

  25. 25

    如何写一个sql来选择特定条件的记录

  26. 26

    熊猫:比较两个时间段的总和?

  27. 27

    加入两个时间段相交的地方

  28. 28

    TimePeriodLibrary 将两个时间段相交

  29. 29

    如何写这两个表的查询

热门标签

归档