Đó sẽ là DISTINCT
+ LAST_DAY
, Tôi đoán.
Đặt định dạng ngày (sao cho khớp với ngày của bạn; cách khác, hãy áp dụng TO_CHAR
tới jour
giá trị với mặt nạ định dạng thích hợp):
SQL> alter session set nls_Date_format = 'yyyymmdd';
Session altered.
I rút ngắn thời gian kéo dài đến 2 năm (để tiết kiệm không gian :)).
SQL> select distinct last_day(to_date('01/01/2000','dd/mm/yyyy') + (LEVEL-1)) as jour
2 from dual
3 connect by level <= to_date('31/12/2002','dd/mm/yyyy')-to_date('01/01/2000','dd/mm/yyyy')
4 order by 1;
JOUR
--------
20000131
20000229
20000331
20000430
20000531
20000630
20000731
20000831
<snip>
20020630
20020731
20020831
20020930
20021031
20021130
20021231
36 rows selected.
SQL>