If statement 在将数据加载到teradata数据库之前,如何检查和操作平面中的数据?
作为主题,在使用BTEQ脚本将平面文件中的数据加载到teradata数据库之前,如何操作这些数据。。。。 我不确定操作应该写入bteq脚本的哪个部分If statement 在将数据加载到teradata数据库之前,如何检查和操作平面中的数据?,if-statement,conditional-statements,teradata,If Statement,Conditional Statements,Teradata,作为主题,在使用BTEQ脚本将平面文件中的数据加载到teradata数据库之前,如何操作这些数据。。。。 我不确定操作应该写入bteq脚本的哪个部分 USING ------------------------------------------------------ INSERT INTO ------------------------------------------------------
USING
------------------------------------------------------
INSERT INTO
------------------------------------------------------
Values
In my opinion, data manipulation should be done here
------------------------------------------------------
Table Name : Jerry
A
-------
| 5 |
| 6 |
| 7 |
-------
Values in the data file,
00005|Jim
0 |Apple
|Loop
条件:
从数据文件中读取数据。不应加载第一列为0或NULL的行,也应在加载到表中之前执行前导0
Guess:
VALUES
(
IF TRIM(LEADING '0' FROM :A) != NULL OR IF TRIM(LEADING '0' FROM :A) != 0
THEN TRIM(LEADING '0' FROM :A)
,B
,C
);
请不要要求装货。这从来不是这个工具的意图
对于条件加载,您可以将条件放入APPLY语句的MLoad中。与当前加载工具TPT相同。在TPT中是“插入到从何处选择”。此外,您可以在一个TPT脚本中混合使用Load(Load或Update-Operator)和DML(DDL-Operator) BTEQ不提供基于内容跳过记录的方法。即使没有删除任何字符,TRIM也不会失败,因此不需要在那里执行条件。但是,如果您确实需要有条件地计算某些内容,SQL将使用CASE-WHEN-THEN-ELSE-END语法?它在VALUES()部分吗?只要允许标量表达式,那么是的;这可能位于INSERT的VALUES子句中。