sql - 如何减去系统日期?
问题描述
SELECT SYSDATE - TO_DATE('1-02-2009', 'DD-MM-YYYY')
FROM DUAL;
但不起作用:/
输出 :
3981.202453703703703703703703703703703704
解决方案
当您在 Oracle 中减去两个日期时,您会得到天数的差异。
要获得小时数、分钟数或秒数,您需要将它们分别乘以一天中的小时数、一天中的分钟数或一天中的秒数,如下所示:
SQL> SELECT 2 ROUND(SYSDATE - TO_DATE('01-02-2009', 'DD-MM-YYYY'), 2) AS DIFF_IN_DAYS, 3 ROUND((SYSDATE - TO_DATE('01-02-2009', 'DD-MM-YYYY')) * 24, 2) AS DIFF_IN_HOURS, 4 ROUND((SYSDATE - TO_DATE('01-02-2009', 'DD-MM-YYYY')) * 24 * 60, 2) AS DIFF_IN_MINUTES, 5 ROUND((SYSDATE - TO_DATE('01-02-2009', 'DD-MM-YYYY')) * 24 * 60 * 60, 2) AS DIFF_IN_SECONDS 6 FROM 7 DUAL; DIFF_IN_DAYS DIFF_IN_HOURS DIFF_IN_MINUTES DIFF_IN_SECONDS ------------ ------------- --------------- --------------- 3981.53 95556.78 5733406.58 344004395 SQL>
干杯!!
推荐阅读
- reactjs - NavigationEvents onWillFocus vs useEffect
- r - R中是否有检查r脚本或日志中是否有错误的功能?
- java - 有没有办法验证文件是否是Java中的特殊块文件?
- javascript - JavaScript 问题在对象内转换字符串(循环内)
- fullcalendar - Fullcalendar.io 按日期或扩展属性获取事件
- python - 无法使用 Scrapy 获取表数据
- r - 通过突变一些变量并保持一些变量与以前相同,将宽数据转换为 long
- python - 在不阻塞 Pygame UI 的情况下录制声音
- python-3.x - 将唯一值列表添加到现有 DataFrame 列
- laravel - 在 Laravel 7 中配置 PhpRedis