Five Stars

TMAP Less than Date comparison expression

Hi,

 

I have a column from an input file row5.DATE_OF_BIRTH with the date pattern set as: "dd-MM-yyyy"

The output column has also the same date pattern set.

 

I am trying to compare the date from row5.DATE_OF_BIRTH to 01-01-1900.

If it is less than "01-01-1990" or null, I want to null the output value, else I want to use the date in row5.DATE_OF_BIRTH.

 

Please could you help.

 

Thanks

K

 

1 ACCEPTED SOLUTION

Accepted Solutions
Forteen Stars TRF
Forteen Stars

Re: TMAP Less than Date comparison expression

Try this one:

row5.DATE_OF_BIRTH == null || 
TalendDate.compareDate(row5.DATE_OF_BIRTH, 
       TalendDate.parseDate("dd-MM-yyyy", "01-01-1990", "dd-MM-yyyy")) < 0 ? null : row5.DATE_OF_BIRTH 

TRF
6 REPLIES
Forteen Stars TRF
Forteen Stars

Re: TMAP Less than Date comparison expression

Hi,

Should work with something like that:

row5.DATE_OF_BIRTH == null || 
TalendDate.compareDate(row5.DATE_OF_BIRTH, 
TalendDate.parseDate("dd-MM-yyyy", "01-01-2010", "dd-MM-yyyy)) < 0) ? null : row5.DATE_OF_BIRTH

Hope this helps.


TRF
Five Stars

Re: TMAP Less than Date comparison expression

Thanks for the response,

 

this doesn't seem to work.

 

I also added double quotes to dd-MM-yyyy.

I get an error (object is not an instance of declaring class)

Forteen Stars TRF
Forteen Stars

Re: TMAP Less than Date comparison expression

You're right, the correct syntax is:

 

row5.DATE_OF_BIRTH == null || 
TalendDate.compareDate(row5.DATE_OF_BIRTH, 
       TalendDate.parseDate("dd-MM-yyyy", "01-01-1990", "dd-MM-yyyy")) < 0) ? null : row5.DATE_OF_BIRTH 

Can you share your tMap with the schemas?


TRF
Five Stars

Re: TMAP Less than Date comparison expression

please see attached.

 

Forteen Stars TRF
Forteen Stars

Re: TMAP Less than Date comparison expression

Try this one:

row5.DATE_OF_BIRTH == null || 
TalendDate.compareDate(row5.DATE_OF_BIRTH, 
       TalendDate.parseDate("dd-MM-yyyy", "01-01-1990", "dd-MM-yyyy")) < 0 ? null : row5.DATE_OF_BIRTH 

TRF
Five Stars

Re: TMAP Less than Date comparison expression

This worked .

 

I had to remove the final   "dd-MM-yyyy" from TalendDate.parseDate("dd-MM-yyyy", "01-01-1990", "dd-MM-yyyy")) to make it work.

 

Thank you

 

Would you happen to know how i can limit the output of a row to 50chars even though the input may be 300charrs?