使用to_date函数时
select to_date(17,'HH24') from dual
它返回从该月的第一天开始的2015/3/1 17:00:00
。我想知道为什么to_date
函数表现得像这样?
我希望它从当天开始, 所以它会显示为
'2015/3/31 17:00:00'
。
如何处理?
答案 0 :(得分:1)
如果您想在今天17:00结束时可以这样做:
trunc(sysdate) + 17/24
答案 1 :(得分:0)
来自一个类似的问题:Oracle Get only time from To_Date() in a Query? 其中一个可以解释这种行为:
这不起作用的原因是因为这不是一个完整的日期。甚至 当您使用to_date(' 07/12 / 2011' MM / DD / YYYY')时,Oracle会存储 日期和时间,但使时间的所有组成部分为零。所以 存储的实际日期是07/12/2011 HH:MI:SS
所以也许正确存储年份和月份,而不是白天。