У меня есть следующий код для вставки и проверки значений в базе данных teradata. Моя точка зрения заключается в том, что данные, которые считываются из плоского файла, чье значение после обрезания, ведущего 0, равно 0 или NULL, не должны загружаться, и если нет , значение должно быть загружено в целевую таблицу .......
VALUES
(
CASE STUD_ID WHEN TRIM(LEADING '0' FROM :STUD_ID) NOT IN ('0', NULL) THEN TRIM(LEADING '0' FROM :STUD_ID)
ELSE NEXT
END,
:B,
:C
)
Я не уверен, существует ли следующий оператор для teradata в операторе подготовки ... Я получил эта ошибка
Illegal expression in WHEN clause of CASE expression.
Statement# 1, Info =0
Я пытался с помощью оператора select в области VALUES,
VALUES
(
SELECT (CASE STUD_ID WHEN TRIM(LEADING '0' FROM :STUD_ID) != '0' THEN TRIM(LEADING '0' FROM :STUD_ID)
ELSE 1000
END )
FROM :STUD_ID,
:B,
:C
)
Я получил этот оператор ошибки ...
Syntax error, expected something like ')' between '(' and
the 'SELECT' keyword.