昨天,我将其中一个查询更改为在sysdate上进行数据透视。
在我的位置和加入中我最初使用last_day(SYSDATE)
;但是,这没有返回任何数据(这是在带有日期值的time_key列上进行过滤)。
当我将查询更改为to_date(last_day(SYSDATE))
时,查询按原样返回数据。
我听说SYSDATE包含时间和日期(虽然,我没有看到这个
一个SELECT SYSDATE FROM DUAL;
)。
有人可以详细说明我需要在to_date()
上拨打last_day(SYSDATE)
的原因吗?我不应该已经有了日期值吗?
答案 0 :(得分:0)
这是一个很长的评论。
表达式last_day(sysdate)
工作正常。 Here是一个SQL小提琴。
我的猜测是,您遇到的问题是时间组件已通过,您不想要时间。在这种情况下,只需使用trunc()
。以下是等效的:
trunc(last_day(sysdate))
last_day(trunc(sysdate))