2011-01-10 5 views
1

У меня возникли проблемы с TRIM stSAS PROC SQL TRIM ЗАЯВЛЕНИЕ

Это ошибка, которую я получаю;

ERROR: CLI prepare error: [Teradata][ODBC Teradata Driver][Teradata Database] 
     Syntax error, expected something like ')' between a string or a Unicode 
     character literal and the integer '9'. 

И это образец кода, на который он ссылается;

select trim(a.BR_CBS_CUST(FORMAT "9(4)")) || trim(a.STEM_CBS_CUST(FORMAT "9(6)")) || 
    trim(a.ACTP_CBS_CUST) || trim(a.CDG_CBS_CUST) (char(20))as CUSTNO 

Может кто-нибудь сказать мне, что не так с кодом?

Спасибо.

+1

Можете ли вы показать нам полную инструкцию proc sql? Похоже, что он использует сквозную передачу ODBC, но это невозможно сказать только из фрагмента, который вы нам дали. Благодарю. –

ответ

0

Вы попробовали LTRIM RTRIM Вместо обычного Trim?

+0

Привет, спасибо за ваши ответы. Я решил это в конце следующим образом: inner join dqviewsp.CBS_PERSONS_XREF как b /* на a.CustNo = trim (b.BR_CBS_CUST) || обрезка (b.STEM_CBS_CUST) || обрезка (b.ACTP_CBS_CUST) || (b.CDG_CBS_CUST) */ на листе (substr (a.custno, 1,4) как smallint) = b.br_cbs_cust и \t cast (substr (a.custno, 5,6) как целое) = b. stem_cbs_cust и \t cast (substr (a.custno, 11,1) as smallint) = b.actp_cbs_cust и \t cast (substr (a.custno, 12,1) as smallint) = b.cdg_cbs_cust –

1

Рассмотрим COMPRESS(), который может быть полезен при удалении пробелов и конкатенации строк.