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))。

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

相关文章

Java Oracle 结果集是Java语言中处理数据库查询结果的一种方...
Java AES和Oracle AES是现代加密技术中最常使用的两种AES加密...
Java是一种广泛应用的编程语言,具备可靠性、安全性、跨平台...
随着移动互联网的发展,抽奖活动成为了营销活动中不可或缺的...
Java和Oracle都是在计算机领域应用非常广泛的技术,他们经常...
Java 是一门非常流行的编程语言,它可以运行于各种操作系统上...