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,
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,