TMAP Less than Date comparison expression

Highlighted
Six 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

 


Accepted Solutions
Highlighted
Sixteen Stars
Sixteen 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

View solution in original post


All Replies
Highlighted
Sixteen Stars
Sixteen 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
Highlighted
Six 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)

Highlighted
Sixteen Stars
Sixteen 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
Six Stars

Re: TMAP Less than Date comparison expression

please see attached.

 

Highlighted
Sixteen Stars
Sixteen 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

View solution in original post

Highlighted
Six 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?

2019 GARTNER MAGIC QUADRANT FOR DATA INTEGRATION TOOL

Talend named a Leader.

Get your copy

OPEN STUDIO FOR DATA INTEGRATION

Kickstart your first data integration and ETL projects.

Download now

Best Practices for Using Context Variables with Talend – Part 1

Learn how to do cool things with Context Variables

Blog

Migrate Data from one Database to another with one Job using the Dynamic Schema

Find out how to migrate from one database to another using the Dynamic schema

Blog

Best Practices for Using Context Variables with Talend – Part 4

Pick up some tips and tricks with Context Variables

Blog