Oracle 我想要我的过程的今天的日期输出

Oracle 我想要我的过程的今天的日期输出,oracle,stored-procedures,Oracle,Stored Procedures,我的存储过程如下所示: WITH dates AS (SELECT (dt + level - 1) AS etadate FROM (SELECT TRUNC(DATE '2018-09-01', 'MM') - 1 AS dt FROM DUAL ) d CONNECT BY LEVEL <= sysdate - dt + 1 ) SELECT TO_CHAR(TO_DATE(d.etadate,'DD-MM-YYYY HH24:MI:SS'),'D

我的存储过程如下所示:

WITH dates
AS
  (SELECT (dt + level - 1) AS etadate
  FROM
    (SELECT TRUNC(DATE '2018-09-01', 'MM') - 1 AS dt FROM DUAL
    ) d
    CONNECT BY LEVEL <= sysdate - dt + 1
  )
SELECT TO_CHAR(TO_DATE(d.etadate,'DD-MM-YYYY HH24:MI:SS'),'DD-MM-YY')           AS DATEFORM,
  COALESCE(nsp.YNAME, LAG(nsp.YNAME IGNORE NULLS) OVER (ORDER BY d.etadate))         AS YNAME,
  COALESCE(nsp.CATEGORY, LAG(nsp.CATEGORY IGNORE NULLS) OVER (ORDER BY d.etadate))           AS CATEGORY,
  COALESCE(nsp.TYPE, LAG(nsp.TYPE IGNORE NULLS) OVER (ORDER BY d.etadate)) AS TYPE,
  COALESCE(nsp.STOCK_BALANCE, LAG(nsp.STOCK_BALANCE IGNORE NULLS) OVER (ORDER BY d.etadate)) AS STOCK_BALANCE
FROM dates d
LEFT JOIN VW_NET_STOCK_POSITION nsp 
 ON d.etadate = TRUNC(nsp.LAST_UPD_IS)
这是输出:

现在,我只想要今天日期的输出。输出应为该输出的最后记录,因为今天的日期为2018年10月6日

需要在null处重复上一个事务

最简单的方法是获取原始查询并将其包装到筛选查询中:

select * from (
    WITH dates
    AS
      (SELECT (dt + level - 1) AS etadate
      FROM
        (SELECT TRUNC(DATE '2018-09-01', 'MM') - 1 AS dt FROM DUAL
        ) d
        CONNECT BY LEVEL <= sysdate - dt + 1
      )
    SELECT TO_CHAR(TO_DATE(d.etadate,'DD-MM-YYYY HH24:MI:SS'),'DD-MM-YY')           AS DATEFORM,
      COALESCE(nsp.YNAME, LAG(nsp.YNAME IGNORE NULLS) OVER (ORDER BY d.etadate))         AS YNAME,
      COALESCE(nsp.CATEGORY, LAG(nsp.CATEGORY IGNORE NULLS) OVER (ORDER BY d.etadate))           AS CATEGORY,
      COALESCE(nsp.TYPE, LAG(nsp.TYPE IGNORE NULLS) OVER (ORDER BY d.etadate)) AS TYPE,
      COALESCE(nsp.STOCK_BALANCE, LAG(nsp.STOCK_BALANCE IGNORE NULLS) OVER (ORDER BY d.etadate)) AS STOCK_BALANCE
    FROM dates d
    LEFT JOIN VW_NET_STOCK_POSITION nsp 
     ON d.etadate = TRUNC(nsp.LAST_UPD_IS)
)
where etadate = trunc(sysdate)
/

在现实生活中,这种方法的性能可能不太好,这取决于基础表中有多少数据。

请定义它不起作用。这不是一个可行的见解。你有错误吗?或者不是你所期望的结果?没有样本数据就有点难以猜测。你可以看到我的“需要在null处重复上一次交易”-更多细节问题如果你没有10月6日的数据?如果您只是发布一些示例数据和预期结果,而不是让我们从您那里提取您的需求,那么每个人的生活都会轻松得多。请编辑您的问题,以包括一些示例数据和从该示例派生的所需输出。我没有看到存储过程。您已经发布了一个查询。