Last Friday of each month: Difference between revisions

Content added Content deleted
No edit summary
Line 2,148: Line 2,148:
=={{header|SQL}}==
=={{header|SQL}}==
<lang SQL>
<lang SQL>
select
select to_char( max( trunc( to_date ( :yr, 'yyyy' ), 'yyyy' ) + level - 1 ), 'yyyy-mm-dd Dy' )
to_char( max( trunc( to_date ( :yr, 'yyyy' ), 'yyyy' ) + level - 1 ),
'yyyy-mm-dd Dy' ) lastfriday
from dual
from dual
where
where to_char ( trunc( to_date ( :yr, 'yyyy' ), 'yyyy' ) + level - 1, 'Dy' ) = 'Fri'
connect by level < trunc( to_date ( :yr + 1 , 'yyyy' ), 'yyyy') - trunc( to_date ( :yr, 'yyyy' ) ,'yyyy' ) + 1
to_char ( trunc( to_date ( :yr, 'yyyy' ), 'yyyy' ) + level - 1, 'Dy' ) = 'Fri'
connect by level < trunc( to_date ( :yr + 1 , 'yyyy' ), 'yyyy')
- trunc( to_date ( :yr, 'yyyy' ) ,'yyyy' ) + 1
group by to_char( trunc( to_date ( :yr, 'yyyy' ), 'yyyy' ) + level - 1, 'yyyymm' )
group by to_char( trunc( to_date ( :yr, 'yyyy' ), 'yyyy' ) + level - 1, 'yyyymm' )
order by 1
order by 1
</lang>
</lang>
<pre>
<pre>
LASTFRIDAY
TO_CHAR(MAX(TRUNC(TO_DA
-----------------------
-----------------------
2012-01-27 Fri
2012-01-27 Fri
Line 2,170: Line 2,174:
2012-11-30 Fri
2012-11-30 Fri
2012-12-28 Fri
2012-12-28 Fri

12 rows selected.
</pre>
</pre>