Quantcast
Channel: SCN : All Content - Data Services and Data Quality
Viewing all articles
Browse latest Browse all 4013

while loop

$
0
0

Hi guys

I have source table which has record like this :-

WL_ID I_STRT_DT ACT_STRT_DT ACT_SRT_DT_TWO_DEC_OF I_FL_DT       I_FL_DT_C_D I_FL_DT_TWO_DL_OF I_FL_DT_UN
986532 2013-03-29 2013-03-29 2013-04-29         2013-05-31 2013-05-31 2013-07-01        2013-07-01

and i need to compare below data

NA_ID NA_R_ID  NA_Ord NA_FRM  NA_TO
986532 986532||3 1 2013-04-29 2013-05-27
986532 986532||13 2 2013-07-21 2013-07-28
986532 986532||15 3 2013-08-02 2013-08-07


to find only records where na_frm is less than sysdate and less than to ACT_STRT_DT_TWO_DEC_OF or greater than I_FL_DT_UN

i have used below mentioned decode function in while loop to get rid of records where na_ord in (2,3) as in result i want only 1 row where na_ord ='1' because other two rows dates are after sysdate.

decode(
Query.NA_TO < cast(Query.ACT_STRT_DT_TWO_DEC_OF, 'date'), NULL,
Query.NA_FRM <= cast(Query.ACT_STRT_DT_TWO_DEC_OF, 'date'), cast(Query.ACT_STRT_DT_TWO_DEC_OF, 'date') + 1,
Query.NA_FRM > cast(Query.I_FL_DT_UN, 'date'), NULL,
Query.NA_FRM
)

but after finishing the data flow, column is coming as NULL not as value na_frm.

could you please help me what is wrong with decode function


Viewing all articles
Browse latest Browse all 4013

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>