amazon-redshift - 红移 datediff() 与 date_diff()
问题描述
似乎 Redshift 支持两种可能的函数来计算两个类似DATE
对象之间的时间间隔距离:DATEDIFF()
& date_diff()
。以下代码片段提供了此行为的示例:
SELECT datediff(DAYS, '2021-01-01'::DATE, '2021-02-01'::DATE) AS datediff_interval_output
, datediff('day', '2021-01-01'::DATE, '2021-02-01'::DATE) AS datediff_str_literal_output
, date_diff('day', '2021-01-01'::DATE, '2021-02-01'::DATE) AS date_diff_output
;
AWS 提供了有关DATEDIFF()的文档,但是date_diff()
Redshift 或 PostgreSQL 文档中似乎没有记录。这两个函数之间的一个奇怪的区别是,DATEDIFF
它将接受其第一个参数的原始间隔(例如DAY
,,MONTH
)SECOND
或字符串文字('day','month','second '),但date_diff()
只接受字符串文字间隔表示。
我能找到的唯一参考是pg_catalogdate_diff()
中的一个条目,它返回以下自动生成的定义:
CREATE FUNCTION date_diff(text, time with time zone, time with time zone) RETURNS bigint
IMMUTABLE
LANGUAGE internal AS
$$
begin
-- missing source code
end;
$$;
有没有人对函数的起源有更多的了解date_diff()
,以及为什么它包含在 Redshift 中但没有记录?
注意:使用 Redshift 版本:1.0.25109
解决方案
推荐阅读
- swift - swift中UINavigationBarItem的问题
- node.js - Mongoose - 为什么演员表日期失败?
- flutter - StateNotifierProvider 不在 Flutter 中保持状态(Riverpod)
- android - 使用 Hilt 进行依赖注入时如何将运行时参数传递给 ViewModel 的构造函数?
- performance - MDB + ActiveMQ + Weblogic 高负载
- mysql - SQL 查询性能(复杂性分析?)
- ruby-on-rails - 如何去除纱包
- angular - 如何为 API api.rawg.io 构建分页
- python - 最难的python生成器面试题——数字范围的python生成器对象
- django - Django 框架列出所有产品并汇总每个产品的所有销售额