如何将列中的记录转换为 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]
我有一个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]