Oracle to_date函数用法

时间:2015-03-31 09:08:59

标签: sql oracle

使用to_date函数时

select to_date(17,'HH24') from dual 

它返回从该月的第一天开始的2015/3/1 17:00:00。我想知道为什么to_date函数表现得像这样?

  

我希望它从当天开始,   所以它会显示为'2015/3/31 17:00:00'

如何处理?

2 个答案:

答案 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

所以也许正确存储年份和月份,而不是白天。