减去日期并仅在SQL中显示整数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了减去日期并仅在SQL中显示整数相关的知识,希望对你有一定的参考价值。
我试图找到两个日期之间的日差,当我写:'select date_trunc('day',timetable.time) - date_released as no_days',我得到的结果显示如下:“0年0 mons 3天16小时38分28.00秒“。我只想看'3'或'3天'。有没有办法消除年,月,小时,分钟,秒?我在Mode Analytics中运行此查询,如果这改变了什么......
答案
在T-SQL for Sql Server中,标准的约会功能最简单。
试试这个:SELECT DATEDIFF(DAY,'01 / 01/2009',GETDATE())
返回从2009年1月1日到今天之间的天数。
如果是Oracle,则DateDiff语法大致相同:
DATEDIFF(表达式1,表达式2)
DATEDIFF()返回expr1 - expr2,表示为从一个日期到另一个日期的天数值。
HTH,肖恩
另一答案
在Oracle中,floor是你的朋友。
select sysdate - {ts '2017-08-01 15:30:00'} c
from dual
返回216.921412037037037037037037037037037037
而
select floor(sysdate - {ts '2017-08-01 15:30:00'}) c
from dual
返回216
另一答案
据我所知,在Oracle中,两个DATE值的差异导致天数,所以 - 只需减去它们并删除小数点后面的所有内容(这将是TRUNC)。例如:
SQL> select
2 sysdate,
3 sysdate - to_date('01.03.2018 21:00', 'dd.mm.yyyy hh24:mi') diff,
4 trunc(sysdate - to_date('01.03.2018 21:00', 'dd.mm.yyyy hh24:mi')) result
5 from dual;
SYSDATE DIFF RESULT
------------------- ---------- ----------
06.03.2018 21:20:35 5,01429398 5
SQL>
以上是关于减去日期并仅在SQL中显示整数的主要内容,如果未能解决你的问题,请参考以下文章