Nine Stars

SQL Syntax error expected something between '(' and the 'left' keyword

My data looks like:
yyyymmdd
20111122
The Teradata database SQL is converting the varchar to a date so it looks like:
2011-11-22
My SQL:
SELECT
cast(left( myDate, 4) || '-' ||
substr(myDate, 5,2) || '-' ||
substr(myDate,length(myDate) - 2 + 1, 2) as date )
as PULL_DATE
FROM myDatabase.myTable
How can I get this SQL to run successfully in a tTeradataInput component?
The SQL runs fine outside of Talend.
The error message:
Exception in component tTeradataInput_3
com.teradata.jdbc.jdbc_4.util.JDBCException: Syntax error: expected something between '(' and the 'left' keyword.
Do I need to somehow escape the word "left" or "cast"?
2 REPLIES
One Star

Re: SQL Syntax error expected something between '(' and the 'left' keyword

Have you got the SQL in quotes?
Nine Stars

Re: SQL Syntax error expected something between '(' and the 'left' keyword

I have double quotes before and after the SQL. In my SQL I have single quotes.
Do I need to escape the vertical bars individually with "\\"?