sql - 将编号添加到在 oracle 中提交的日期
问题描述
我正在尝试将秒数添加到现有日期以查找结束时间。我有一个领域的开始时间和一个领域的总持续时间,我在互联网上发现我们可以添加数字到日期,但我们应该在 86400 上潜水
(chargestarttime + (NVL (callduration, 0) / 86400))
// where chargestarttime is date , callduration is number
// sample (chargestarttime is 2020-05-30 02:21:58 and callduration is 65 the output is 2020-05-30 02:23:03)
我的问题是为什么我们需要 div 86400?如果我将日期转换为 UNIX_TIMESTAMP,然后仅添加 65,它将在 86400(24 小时)上不使用 div 给出相同的结果,或者我们有理由在 86400(24 小时)上进行 div
解决方案
为什么我们需要在 86400 上进行 div 操作?
在日期算术中,Oracle1
用来表示 1 天。如果你从几秒开始,你需要把它转换成天,所以
chargestarttime + NVL(callduration, 0) / 60 / 60 / 24
-- seconds per minutes-----^
-- minutes per hour -----^
-- hours per day -----^
86400
只是一天中的秒数。
推荐阅读
- python - Python 请求 POST - 408 超时
- java - 如何仅使用 Google Cloud Endpoints 配置 Model Mapper 一次?
- javascript - d8 shell 的 console.log 是否支持格式说明符?
- laravel - 尝试根据值设置不同的数组。错误:组件渲染函数中可能存在无限更新循环
- c - 是否可以更改 C 中的字符集编码?
- javascript - 将变量传递给 JavaScript 函数
- javascript - jQuery代码在while循环中不起作用
- asp.net - 导航栏没有在 asp.NET 网络表单中折叠
- javascript - D3中从右到左的树方向
- javascript - 如何优化“ScrollMagic+TweenMax+GSAP”的性能?