检查日期是否在某个范围内

qnakjoqk  于 2021-06-18  发布在  Mysql
关注(0)|答案(2)|浏览(380)

假设我们有这样一个表:

(ID, StartDate, EndDate, SubjectID)
(1, '2018-01-01', '2018-02-01', '1')
(2, '2018-03-01', '2018-04-01', '1')
(n, '2018-06-01', '2018-06-15', '1')

对于指定的日期(例如“2018-04-04”),我要检查此日期是否在该主题的任何现有范围内。如何在mysql中做到这一点?问题是每个主题的范围数是可变的(每个主题可以有1到n行(范围))。

bvjveswy

bvjveswy1#

使用mysql中的“大于等于”和“小于等于”过滤器可以很容易地获得所需的输出。只需将查询放置为

Select SubjectID From your_table
Where StartDate <= '2018-04-04' 
AND EndDate >= '2018-04-04';

它应该起作用。干杯。

h43kikqp

h43kikqp2#

您可以简单地执行以下操作:

SELECT DISTINCT SubjectID FROM table_name WHERE StartDate < '2018-04-04' 
  AND EndDate > '2018-04-04';

相关问题