簡體   English   中英

如何在 sql 中使用滯后函數來顯示日期 < sysdate

[英]How do I use lag function in sql to display dates < sysdate

如果我想使用滯后條件顯示小於sysdate 的dual 中的所有日期,我該怎么做

從 Items 中選擇 sysdate-如何在此查詢中使用滯后?

我的輸出應該使用滯后條件顯示所有小於sysdate的日期

Date
30-jun-2015
29-june-2015
28-june-2015

等等

查詢 1 - 選擇從開始日期到今天的日期

SELECT TRUNC(SYSDATE) - LEVEL + 1 AS "Date"
FROM   DUAL
CONNECT BY TRUNC(SYSDATE) - LEVEL + 1 >= DATE '2015-06-26'

結果

|                   Date |
|------------------------|
| July, 01 2015 00:00:00 |
| June, 31 2015 00:00:00 |
| June, 30 2015 00:00:00 |
| June, 29 2015 00:00:00 |
| June, 28 2015 00:00:00 |
| June, 27 2015 00:00:00 |
| June, 26 2015 00:00:00 |

查詢 2 - 在多個范圍之間選擇日期

WITH ranges ( start_date, end_date ) AS (
  SELECT DATE '2015-06-02', DATE '2015-06-07' FROM DUAL
  UNION ALL
  SELECT DATE '2015-06-12', DATE '2015-06-14' FROM DUAL
)
SELECT START_DATE + COLUMN_VALUE AS "Date"
FROM   ranges,
       TABLE( CAST ( MULTISET(
         SELECT LEVEL - 1
         FROM   DUAL
         CONNECT BY START_DATE + LEVEL - 1 <= END_DATE
       ) AS SYS.ODCINUMBERLIST ) )

結果

|                   Date |
|------------------------|
| June, 02 2015 00:00:00 |
| June, 03 2015 00:00:00 |
| June, 04 2015 00:00:00 |
| June, 05 2015 00:00:00 |
| June, 06 2015 00:00:00 |
| June, 07 2015 00:00:00 |
| June, 12 2015 00:00:00 |
| June, 13 2015 00:00:00 |
| June, 14 2015 00:00:00 |

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM