【发布时间】:2020-06-18 18:19:13
【问题描述】:
关于在 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
我尝试使用 VALUES 区域中的 select 语句,
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.
【问题讨论】:
标签: conditional-statements case teradata