Oracle:如何添加分钟到时间戳?

前端之家收集整理的这篇文章主要介绍了Oracle:如何添加分钟到时间戳?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要添加30分钟到Oracle日期列中的值。我在我的SELECT语句中通过指定

to_char(date.and_time(.000694 * 31)

这在大多数时间工作。但不是当时间在AM / PM边界。例如,将30分钟增加到12:30 [这是PM]返回1:00,即AM。我预计的答案是13:00。什么是正确的方法这样做?

所有其他的答案基本上是正确的,但我不认为任何人直接回答你原来的问题。

假设你的例子中的“date_and_time”是一个类型为DATE或TIMESTAMP的列,我想你只需要改变这个:

to_char(date_and_time + (.000694 * 31))

对此:

to_char(date_and_time + (.000694 * 31),'DD-MON-YYYY HH24:MI')

听起来你的默认日期格式使用“HH”代码的小时,而不是“HH24”。

此外,我认为你的常数术语是混乱和不精确。我想你做的是计算(.000694)是一分钟的价值,你乘以你想添加的分钟数(在这个例子中为31,虽然你在文本中说了30)。

我也会从一天开始,并将它分成你想在代码中的单位。在这种情况下,(1/48)将是30分钟;或者如果为了清楚起见,您可以写((1/24)*(1/2))。

这将避免舍入误差(除了浮点固有的那些在这里应该是无意义的),并且更清楚,至少对我。

猜你在找的Oracle相关文章