0

我有以下 SQL 查询:

SELECT
@weekenddtm = CONVERT(VARCHAR,DATEADD(DD,(7 - DATEPART(DW,@p_end_dtm)),@p_end_dtm),111)

我尝试使用此查询将其转换为 oracle:

v_weekenddtm   := CAST(p_end_dtm + NUMTODSINTERVAL((7-TO_NUMBER(TO_CHAR(p_end_dtm,'D'))),'DAY')  AS DATE);

,但它给了我错误。知道如何继续吗?

4

1 回答 1

1

p_end_dtm 和 v_weekend_dtm 的数据类型是什么?如果它们如下所示,则您的代码有效:

declare
   p_end_dtm timestamp;
   v_weekend_dtm date;
begin
   v_weekend_dtm := CAST(p_end_dtm+ NUMTODSINTERVAL((7-TO_NUMBER(TO_CHAR(p_end_dtm,'D'))),'DAY')  AS DATE);
end;
于 2010-07-09T09:55:13.063 回答