Oracle日期比较

kal*_*lls 2 sql oracle10g

说我有以下代码

一些Sql查询...后面跟着这个条件

AND EndDate < TO_DATE('02/14/2011','MM/DD/YY')+1
Run Code Online (Sandbox Code Playgroud)

它是一样的吗?

AND EndDate <= TO_DATE('02/14/2011','MM/DD/YY')
Run Code Online (Sandbox Code Playgroud)

小智 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')
Run Code Online (Sandbox Code Playgroud)

两个结果都会产生"真实".你有什么疑惑?