Mysql 给定范围之间的所有日期

Mysql 给定范围之间的所有日期,mysql,sql,Mysql,Sql,我正在使用mysql作为数据库进行休假跟踪 我有两个专栏从和到目前为止。我不希望任何人在已经申请的日期申请休假。如何为此编写查询 这是我编写的查询,但它不会生成所需的输出: SELECT * FROM `taken_leave_tracker` WHERE emp_id = '135835' and (taken_to_date <= '2017-02-02') and (taken_from_date >= '2017-02-01') 选择* 从“带走”到“离开”`

我正在使用mysql作为数据库进行休假跟踪

我有两个专栏从和到目前为止。我不希望任何人在已经申请的日期申请休假。如何为此编写查询

这是我编写的查询,但它不会生成所需的输出:

SELECT *
FROM `taken_leave_tracker`
WHERE emp_id = '135835'
  and (taken_to_date  <= '2017-02-02')
  and (taken_from_date >= '2017-02-01')
选择*
从“带走”到“离开”`
其中emp_id='135835'
和(截止日期='2017-02-01')

请帮助编写查询。

假设您的变量名为
date
,您需要执行以下查询

SELECT count(*) 
FROM `taken_leave_tracker` 
WHERE emp_id = '135835' AND date >= applied_from_date AND date <= applied_to_date;
选择计数(*)
从'taked\u leave\u tracker'开始

如果emp_id='135835'和date>=applied_from_date和date,则应该比较单个列上的范围

WHERE emp_id = '135835'
  and (taken_from_date >= '2017-02-01' and taken_from_date  <= '2017-02-02')
其中emp_id='135835'

和(take_from_date>='2017-02-01'和take_from_date根据图像,您的表中有applied_from_date和applied_to_date列,但您的查询包括take_to_date和take_from_date列。实际上,有两种请假和take_from。我错误地拍摄了applied leave table表的屏幕截图。虽然我是一个斯金可以在任何一张桌子上回答。