开发者问题收集

函数-Snowflake

2022-09-29
138

-我正在尝试创建一个函数,该函数返回日期和该日期的最后时间,例如 2022-09-29 23:59:59。我试过了:

CREATE or replace FUNCTION date(Dt TIMESTAMP)
    RETURNS TIMESTAMP
    as
    $$select dateadd(second, -1, date_trunc('day', dateadd(day, 1, current_timestamp)))$$; 

但出现错误,有人知道吗?

2个回答

代码应使用参数 DT ,函数名称应重命名为 DATE 已存在:

CREATE OR REPLACE FUNCTION date_(DT TIMESTAMP)
RETURNS TIMESTAMP
AS
$$select dateadd(second, -1, date_trunc('day', dateadd(day, 1, DT)))$$;

SELECT DATE_(CURRENT_TIMESTAMP());

输出:

在此处输入图像描述

Lukasz Szozda
2022-09-29

也许函数有点过头了?Lukasz 已经指出了这个问题,但如果你必须使用函数,这里有另一种定义日期算法的方法

select current_timestamp::date + interval '86399 seconds'
Kathmandude
2022-09-29