Teradata 将NULL转换为空白TPT快速加载

Teradata 将NULL转换为空白TPT快速加载,teradata,Teradata,以上来自TPT的示例代码运行良好。 我想在加载时将平面文件中的空值转换为空值 Insert into emp values (:FNAME ,....... TPT_INFRA:TPT04046:错误:作业脚本文件“tpscript4.txt”的第193行:相邻 带引号的字符串必须用 连接运算符:“| |”。 作业脚本预处理失败 insert into emp values ( COALESCE(:Fname,' '),.... -- Throws ERROR Teradata并

以上来自TPT的示例代码运行良好。 我想在加载时将平面文件中的空值转换为空值

Insert into emp values 
(:FNAME ,.......
TPT_INFRA:TPT04046:错误:作业脚本文件“tpscript4.txt”的第193行:相邻 带引号的字符串必须用 连接运算符:“| |”。 作业脚本预处理失败

insert into emp values ( COALESCE(:Fname,' '),....     -- Throws ERROR 
Teradata并行传送机版本13.10.00.02 TPT_INFRA:TPT04046:错误:作业脚本文件“tpscript4.txt”的第191行:相邻 带引号的字符串必须用 连接运算符:“| |”。 作业脚本预处理失败。 作业已终止,状态为8

在使用情况下,选择oerator for fastload:

insert into emp Values ( case when :Fname is null then ' ' else :Fname End,... --Throws Error
错误: TPT_INFRA:作业脚本文件“tpscript4.txt”第249行或附近出现语法错误: TPT_INFRA:At在规则:作业定义正文中选择缺少的半圆形 由于错误,编译失败。未生成执行计划。 作业脚本编译失败。 作业已终止,状态为8

注意:如果在选择中没有案例,则其工作正常

TO OPERATOR (UPDATE_OPERATOR[2]) 
SELECT  case when FNAME is null then ' ' else FNAME,LNAME,....
FROM OPERATOR (FILE_READER[2]);

选择Fname为NULL时的大小写,然后选择“”否则Fname结束为Fname,。。。从使用Fload的操作员那里,您没有指定返回的错误,我假定它与单引号有关。您的插入可能在APPLY'INSERT….;'您可以尝试使用两个单引号来获取字符串中的一个引号:

APPLY('insert into emp values ( COALESCE(:Fname,'' ''),....')  Worked with Mload
或者,此处不支持在“选择合并”中执行此操作:

APPLY('insert into emp values ( COALESCE(:Fname,'' ''),....') 

添加单引号:更新\运算符:进入采集阶段更新\运算符:TPT10508:RDBMS错误3618:快速加载插入中不允许使用表达式,列Fname。UPDATE_OPERATOR:disconnecting sessionsExpression not allowed in Fast Load Insert=您不能在FastLoad协议的Insert中使用表达式。请改为切换到更新运算符,或在如上所示的选择中执行此操作。选择以下情况:Teradata Parallel Transporter版本13.10.00.02 TPT_INFRA:作业脚本文件“tpscript4.txt”第249行或其附近的语法错误:TPT_INFRA:在规则:作业定义正文编译中选择缺少半圆形时由于错误而失败。未生成执行计划。dnoeth,单报价适用于Mload。案例不适用于Fload?当您在OPERATOR Select中使用案例时,我只是忘记了别名已编辑。如果仍然出现错误,您应该发布作业定义的相关部分。-我刚刚注意到您的案例中没有结尾,当FNAME为null时,应该是SELECT CASE,然后是“”否则FNAME结束为FNAME,LNAME
SELECT
   CASE WHEN Fname IS NULL THEN ' ' ELSE Fname END AS Fname,
   ...
FROM OPERATOR