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日的数据?如果您只是发布一些示例数据和预期结果,而不是让我们从您那里提取您的需求,那么每个人的生活都会轻松得多。请编辑您的问题,以包括一些示例数据和从该示例派生的所需输出。我没有看到存储过程。您已经发布了一个查询。