[英]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.