-1

我想获取日期之间的数据。我有一些从开始到现在的记录。现在我想使用日期检查该记录。

Employee  Leave_from_date  Leave_to_date Leave_Type
001       06-10-2012       07-10-2012    Casual

我想使用这样的选择语句

 Select * from leave_request where fldempid=001 as L on fldfromdate
     >= 06-10-2012 and fldtodate<='06-10-2012'

如果我使用 07-10-2012 表示再次显示上述记录。

请帮我创建这个...

4

3 回答 3

4

between反转子句中值和列的通常位置:

select * 
from leave_request 
where fldempid = 001
and '06-10-2012' between fldfromdate and fldtodate
于 2012-08-07T12:47:27.387 回答
0

我建议先将日期转换为 unix 时间戳,以便您可以使用<= >=运算符安全地进行比较

例如

SELECT
Employee, Leave_Type  
UNIX_TIMESTAMP(fldfromdate) AS Leave_from_date, 
UNIX_TIMESTAMP(fldtodate) as Leave_to_date 
FROM 
leave_request
where 
fldempid=001 as L on 
Leave_from_date>=1349481600 and Leave_to_date<=1349481600;

没有尝试过上述方法,但应该与一些 tweeking 一起工作......

于 2012-08-07T12:57:38.287 回答
0

试试这个:

SELECT Employee, Leave_from_date, Leave_to_date, Leave_Type 
FROM  leave_request 
WHERE fldempid = 001 AND 
      DATE('06-10-2012') between fldfromdate and fldtodate
于 2012-08-07T12:52:31.027 回答