减去日期并仅在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中显示整数的主要内容,如果未能解决你的问题,请参考以下文章

准备SQL语句并仅在不重复时输入

SQL 查询 - 组合两个表,删除重复项并仅保留最新的日期

如何从主选择页面隐藏离子标签并仅在选择模式标题上显示

如何获取前两个选择器意图并仅在android中为用户显示它们

从sql中的表中减去两个日期

如何默认隐藏键盘并仅在单击 EditText 时显示 [重复]