需要从db获取当前日期的记录(不包括时间)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了需要从db获取当前日期的记录(不包括时间)相关的知识,希望对你有一定的参考价值。
我写了下面的查询来获取记录:
Select *
from Scf_Invoice i
where cast(i.inv_Acceptance_Date as date) = TO_DATE('2018-12-18', 'YYYY-MM-DD');
但是,如果给定日期有2条记录,我就得不到结果。我认为它也在考虑时间。当我做
Select *
from Scf_Invoice i
where cast(i.inv_Acceptance_Date as date) > TO_DATE('2018-12-18', 'YYYY-MM-DD');
我得到了结果,但我希望这些结果使用'='参数。我的查询应该做些什么改变?
答案
使用trunc来获得一天
trunc(i.inv_Acceptance_Date) =
TRUNC(日期)函数返回日期,截断日期的时间部分为格式模型fmt指定的单位。即使您为date指定了不同的datetime数据类型,返回的值也始终为数据类型DATE。如果省略fmt,则日期将截断为最近的一天。
Select *
from Scf_Invoice i
where trunc(i.inv_Acceptance_Date) = TO_DATE('2018-12-18', 'YYYY-MM-DD');
另一答案
Select *
from Scf_Invoice i
where trunc(i.inv_Acceptance_Date) = TO_DATE('2018-12-18', 'YYYY-MM-DD');
要么
Select *
from Scf_Invoice i
where trunc(i.inv_Acceptance_Date) = trunc(sysdate);
获取数据等于当前日期
以上是关于需要从db获取当前日期的记录(不包括时间)的主要内容,如果未能解决你的问题,请参考以下文章
ASP - 从 MS Access DB 获取记录时遇到日期格式(在 WHERE 子句中)