加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-12 14:10:34 所属栏目:百科 来源:网络整理
导读:我需要添加30分钟到Oracle日期列中的值。我在我的SELECT语句中通过指定 to_char(date.and_time(.000694 * 31) 这在大多数时间工作。但不是当时间在AM / PM边界。例如,将30分钟增加到12:30 [这是PM]返回1:00,即AM。我预计的答案是13:00。什么是正确的方法这
我需要添加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))。

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读