在PL/SQL(oracle)中按天查询
我正在从数据库查询:在PL/SQL(oracle)中按天查询,oracle,date-arithmetic,Oracle,Date Arithmetic,我正在从数据库查询: select * from database where id = 12345 我有几天的时间,它等于 2010年3月4日上午9:16:59 但如果我加上 日期=截止日期('2010年4月3日','DD/MM/YYYY') 给我 select * from database where id = 12345 and date = to_date('03/04/2010','DD/MM/YYYY') 我一无所有地回来了 有什么建议吗? 顺便说一句,我知道有一个时间在那里
select * from database where id = 12345
我有几天的时间,它等于
2010年3月4日上午9:16:59
但如果我加上
日期=截止日期('2010年4月3日','DD/MM/YYYY')
给我
select * from database where id = 12345
and date = to_date('03/04/2010','DD/MM/YYYY')
我一无所有地回来了
有什么建议吗?
顺便说一句,我知道有一个时间在那里,但我不知道如何比较仅仅基于一天 其中id=12345
WHERE id = 12345
AND date >= TO_DATE('03/04/2010', 'DD/MM/YYYY')
AND date < TO_DATE('03/04/2010', 'DD/MM/YYYY') + INTERVAL '1' DAY
日期>=截止日期('2010年4月3日','DD/MM/YYYY')
日期<截止日期('03/04/2010','DD/MM/YYYY')+间隔'1'天
其中id=12345
日期>=截止日期('2010年4月3日','DD/MM/YYYY')
日期<截止日期('03/04/2010','DD/MM/YYYY')+间隔'1'天
这是因为在创建日期时,您隐式地将时间设置为0:00:00,并且由于0:00:00不等于9:16:59,因此无法返回日期 要让Oracle忽略时间部分,只需执行以下操作:
WHERE id = 12345
AND trunc(date) = to_date('03/04/2010', 'DD/MM/YYYY')
这是因为当您创建日期时,您隐式地将时间设置为0:00:00,并且由于0:00:00不等于9:16:59,您将无法返回日期 要让Oracle忽略时间部分,只需执行以下操作:
WHERE id = 12345
AND trunc(date) = to_date('03/04/2010', 'DD/MM/YYYY')
这是一种奇怪的回答方式。。。但这对我不起作用?我还没有看到+1,数据库怎么知道你想增加一天?@Kevin仍然没有给出结果?我忘了包括你的身份证条款。reg+1:oracle计算日期类型始终以天为单位。但如果您愿意,您也可以使用+INVERVAL'1'天。我已将我的id作为select*from表进行查询,其中id=123,日期>=to_date('03/03/2010','DD/MM/YYYY')和日期