generate monthend date from duedate

Deleted
Not applicable

Hi,

 

I need to generate monthend date as of today from the due date. please advise how to do it.

 

sample input record

         

TRX_NUMBERTRX_DATEGL_DATETRX_CLASSSTATUS_TRXDUE_DATEINVOICE_AMOUNTAMOUNT_REMAINGACCT_AMOUNT_REMAINGSYSDATE_DUE
123454/8/20184/8/2018INVOP4/8/201834388.80.80.80.8

 

 

output record (AS_OF_DATE AS MONTH END DATE)

 

          

TRX_NUMBERTRX_DATEGL_DATETRX_CLASSSTATUS_TRXDUE_DATEINVOICE_AMOUNTAMOUNT_REMAINGACCT_AMOUNT_REMAINGSYSDATE_DUEAS_Of_DATE
123454/8/20184/8/2018INVOP4/8/201834388.80.80.80.810/1/2019
123454/8/20184/8/2018INVOP4/8/201834388.80.80.80.89/30/2019
123454/8/20184/8/2018INVOP4/8/201834388.80.80.80.88/31/2019
123454/8/20184/8/2018INVOP4/8/201834388.80.80.80.87/31/2019
123454/8/20184/8/2018INVOP4/8/201834388.80.80.80.86/30/2019
123454/8/20184/8/2018INVOP4/8/201834388.80.80.80.85/31/2019
123454/8/20184/8/2018INVOP4/8/201834388.80.80.80.84/30/2019
123454/8/20184/8/2018INVOP4/8/201834388.80.80.80.83/31/2019
123454/8/20184/8/2018INVOP4/8/201834388.80.80.80.82/28/2019
123454/8/20184/8/2018INVOP4/8/201834388.80.80.80.81/31/2019
123454/8/20184/8/2018INVOP4/8/201834388.80.80.80.812/31/2018
123454/8/20184/8/2018INVOP4/8/201834388.80.80.80.811/30/2018
123454/8/20184/8/2018INVOP4/8/201834388.80.80.80.810/31/2018
123454/8/20184/8/2018INVOP4/8/201834388.80.80.80.89/30/2018
123454/8/20184/8/2018INVOP4/8/201834388.80.80.80.88/31/2018
123454/8/20184/8/2018INVOP4/8/201834388.80.80.80.87/31/2018
123454/8/20184/8/2018INVOP4/8/201834388.80.80.80.86/30/2018
123454/8/20184/8/2018INVOP4/8/201834388.80.80.80.85/31/2018
123454/8/20184/8/2018INVOP4/8/201834388.80.80.80.84/30/2018
3 Replies

@Deleted 

 

Experts please advise

@Deletedquestion unclear

you ask "...monthend date as of today from the due date..."

in your example DUE_DATE constant, but AS_Of_DATE coundown by month

need more details

 

Here it goes.

WITH cte AS(
SELECT EOMONTH(TRX_DATE) AS TRX_DATE FROM tablename
UNION ALL
SELECT EOMONTH(DATEADD(Month,1,TRX_DATE)) AS TRX_DATE FROM cte
WHERE TRX_DATE < DATEADD(Month,-1,GETDATE()))

SELECT *
FROM tablename
CROSS JOIN cte