说我有以下代码
某些Sql查询...后面跟着这个条件
AND EndDate < TO_DATE('02/14/2011','MM/DD/YY')+1
与
相同吗?AND EndDate <= TO_DATE('02/14/2011','MM/DD/YY')
答案 0 :(得分:6)
注意:我假设您的to_date格式是EndDate是日期字段而不是日期/时间数据类型。
两个查询都应返回相同的结果集。请考虑以下事项:
--Substitue "EndDate" for SYSDATE for this exercise
-- Does "EndDate" occur before June 01, 2011? (Yes)
SELECT 'TRUE'
FROM DUAL
WHERE TRUNC(SYSDATE) < TO_DATE('05/31/2011','MM/DD/YY')+1
-- Does "EndDate" occur on or before May 31, 2011? (Yes)
SELECT 'TRUE'
FROM DUAL
WHERE TRUNC(SYSDATE) <= TO_DATE('05/31/2011','MM/DD/YY')
两个结果都会产生“TRUE”。你有什么疑惑?
答案 1 :(得分:2)
取决于EndDate是DateTime还是仅仅是Date。如果EndDate = 2/14/2011 3:00:00,则第二个将为false,但第一个为true。