Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Can any date function solve this problem?

Status
Not open for further replies.

kwons9

Technical User
Mar 7, 2007
1
US
Is there anyway make this query shorter?
Vintage(Month of action) is always end date of the action month. I need to define this from Jan 2004 to the most current month.
Is there any fuction can do it automatically?

Many thanks,

/*=========Define Vintage==========*/
when EVNT_PROC_DT between '2005-05-01' and '2005-05-31' then cast('2005-05-31' as date)
when EVNT_PROC_DT between '2005-06-01' and '2005-06-30' then cast('2005-06-30' as date)
when EVNT_PROC_DT between '2005-07-01' and '2005-07-31' then cast('2005-07-31' as date)
when EVNT_PROC_DT between '2005-08-01' and '2005-08-31' then cast('2005-08-31' as date)
when EVNT_PROC_DT between '2005-09-01' and '2005-09-30' then cast('2005-09-30' as date)
when EVNT_PROC_DT between '2005-10-01' and '2005-10-31' then cast('2005-10-31' as date)
when EVNT_PROC_DT between '2005-11-01' and '2005-11-30' then cast('2005-11-30' as date)
else null end as vintage,
 
To get the date of last day of month, you can try this expression :
add_months(EVNT_PROC_DT + 1 - extract(day from EVNT_PROC_DT), 1) - 1
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top