SQL两个时间相减得到天

例如,用函数 to_date得到两个时间  2023-02-02 01:01:01     2000-01-01 00:00:00   直接在SQL相减得到的是格式是  230101010101.0000   按照 年、月、天、时、分、秒这样的格式,怎么才能相减出来得到多少天,或者多少小时,或者多少秒。任何一个都可以 这样可以再换算。

源代码

((to_date(20230202010101,'yyyy-mm-dd hh24:mi:ss'))-(to_date (20000101000000,'yyyy-mm-dd hh24:mi:ss'))) as time3

FineReport 帆软用户21wlka79tN 发布于 2023-5-30 15:32
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
帆软用户21wlka79tNLv2见习互助
发布于2023-5-31 16:34

在报表中用函数DATESUBDATE(D2, E2, "s"),表示D2-E2 s表示单位为秒,但是这要求D2,E2都是时间格式,所以用to_date 或其他日期函数 在SQL里面将字符串变成日期格式

最佳回答
0
这个需求怎么做Lv3初级互助
发布于2023-5-30 15:38(编辑于 2023-5-30 15:42)

Oracle ?

--Oracle中两个日期相差小时数--

select TO_NUMBER((TO_DATE('2021-09-22 11:22:13','yyyy-mm-dd hh24:mi:ss')- TO_DATE('2021-09-22 10:22:13','yyyy-mm-dd hh24:mi:ss'))*24)

AS 相差小时数 from dual;

 

--Oracle中两个日期相差分钟数--

select TO_NUMBER((TO_DATE('2021-09-22 11:22:13','yyyy-mm-dd hh24:mi:ss')- TO_DATE('2021-09-22 11:20:13','yyyy-mm-dd hh24:mi:ss'))*24*60)

AS 相差分钟数 from dual;

 

--Oracle中两个日期相差秒数--

select TO_NUMBER((TO_DATE('2021-09-22 11:22:13','yyyy-mm-dd hh24:mi:ss')- TO_DATE('2021-09-22 11:22:00','yyyy-mm-dd hh24:mi:ss'))*24*60*60)

AS 相差秒数 from dual;

  • 1关注人数
  • 358浏览人数
  • 最后回答于:2023-5-31 16:34
    请选择关闭问题的原因
    确定 取消
    返回顶部