如何将列中的记录转换为 Datastage 中的驼峰式大小写?

How to convert the records in a column to Camel Case in Datastage?

我有一个table,其中有一个名称列,该列中的名称都是小写的。我想将字符串转换为驼峰式。table headers 如下 Table |ID|姓名|Phone 编号| |01|鲍勃惠勒|999999999 |

我认为没有特定的功能。

UpCase 可用。

您可以考虑一种变通方法,将空格中的第一个和每隔一个第一个字符转换为大写。

如果您尝试在服务器作业中执行此操作,请使用 Oconv(InLink.MyString,"MCT").

并行 Transformer 阶段没有直接可用的函数。你可以: (a) 将服务器 Transformer 放入服务器共享容器中,并在您的并行作业中使用它, (b) 用 C++ 编写您自己的例程并引用它(称为 "parallel routine"),或者 (c) 调查 table 所在的数据库是否具有任何类型的驼峰转换功能。

假设姓名列仅包含名字和姓氏。 如果还有中间名,你可以模拟公式来处理。

该公式会将 space 首次出现后的第一个字符转换为大写。 它将连接名字,第二个名字的第一个字符大写,然后是第二个名字的其余部分。如果输出错误,你可以玩位置。但这肯定有用-

left(NAME,Index(NAME,' ',1)) : Upcase(Name[(Index(NAME,' ',1))+1,1] ) : 名称[(索引(名称,' ',1))+2,长度(名称)-索引(名称,' ',1)+1]