查找日期之间的天数

Posted

技术标签:

【中文标题】查找日期之间的天数【英文标题】:Find days between dates 【发布时间】:2019-04-10 00:10:18 【问题描述】:

我希望减去 2 个日期来获得两者之间的天数。但是,这些列被定义为“没有时区的时间戳”。我不知道如何得到一个整数。

我有一个带有这段代码的存储过程:

v_days_between_changes := DATE_PATH('day',CURRENT_DATE - v_prev_rec.date_updated)::integer;

但我收到此错误:

提示:没有函数匹配给定的名称和参数类型。您可能需要添加显式类型转换。

QUERY: SELECT DATE_PATH('day',CURRENT_DATE - v_prev_rec.date_updated)::integer

任何帮助都会很棒。

【问题讨论】:

【参考方案1】:

您可以计算日期之间的差异,它会返回一个间隔。然后,从这个间隔中提取天数。

WITH src(dt1,dt2) AS (select '1/1/2019'::timestamp without time zone, CURRENT_DATE ) 
select EXTRACT(day FROM dt2-dt1) nbdays
from src;
 nbdays
-----------
        98

【讨论】:

以上是关于查找日期之间的天数的主要内容,如果未能解决你的问题,请参考以下文章

查找日期之间的天数C# [重复]

如何查找当前时间戳和登录日期之间的天数 [重复]

如何查找两个日期之间的连续天数

查找以 m/d/Y 格式存储的两个日期之间的天数 [重复]

如何获取 Oracle 11g 中两个日期之间的天数? [复制]

js计算两个日期间的所有日期