如何选择今天的日期介于开始日期和结束日期之间的行

时间:2019-11-21 06:28:33

标签: mysql sql

所以我有2列数据,一个开始日期和结束日期。我想选择条目的开始日期和/或结束日期位于今天的日期的行。请参考下图。

3 个答案:

答案 0 :(得分:3)

您可以在下面尝试-

select * from tablename
where startdate>=date(now()) and endate<=date(now())

答案 1 :(得分:0)

您需要一个WHERE子句,该子句将使用OR条件将两列都考虑在内,因此,如果这两个条件中的任何一个为true,则条件会生效。

赞:

DECLARE @inputstart int = 2, @inputend int = 100

现在,如果startDate和endDate只是日期,那将起作用。 但是,如果startDate和endDate是时间戳(完整的日期加上小时-分钟-秒..),则不会匹配。

您需要像这样解析日期:

SELECT * 
FROM mytable
WHERE startDate = '2019-01-01' OR endDate = '2019-01-01'

是否要使用当前日期而不是给定日期:

WHERE Date_Format(startDate, '%y-%m-%d') = '2019-01-01' 
OR Date_Format(startDate, '%y-%m-%d') = '2019-01-01'

答案 2 :(得分:0)

SELECT * 
FROM mytable
WHERE startDate = TO_DATE('01/01/2019', 'MM/DD/YYYY') BETWEEN endDate = TO_DATE('01/01/2019', 'MM/DD/YYYY')