excel - SSIS仅从全名中提取名字

标签 excel ssis expression

对 SSIS 来说还是新手,但我在尝试将 excel 文件加载到我的数据库时遇到了问题。我正在尝试将名字然后姓氏加载到我的数据库表中,但是由于某种原因,excel文件的设置有点奇怪。

这是 excel 文件的示例
Excel文件

First Name    Last Name
----------    ---------
Jason         Doe
 Derek M      Smith
 John L       Doe
 Carol        Smith


因此,出于某种原因,第一个条目之后的每个条目都有一个空格,而且有些条目的名字中包含中间首字母,而有些则没有。

我想要做的是只提取名字并留下中间的首字母。

我目前所做的只是从看起来像这样的 excel 文件中修剪空白区域。

TRIM([Member First Name])

**OUTPUT** 
Jason
Derek M
John L
Carol


当我尝试删除中间的首字母时,我开始遇到问题。

 SUBSTRING(TRIM(FULLNAME),1,FINDSTRING(TRIM(FULLNAME)," ",1))
 
 **OUTPUT**
 
 Derek
 John
 ​


因此,这种方式会删除首字母,但只显示具有中间首字母的条目,而将没有首字母的条目留空。

搬家TRIM周围要么将列留空,要么只显示他们名字的第一个字母。

我该怎么做才能从中提取名字?

提前致谢。

最佳答案

您的派生列表达式应该是这样的:

FINDSTRING(TRIM(FULLNAME)," ",1) == 0 ? FULLNAME : SUBSTRING(TRIM(FULLNAME),1,FINDSTRING(TRIM(FULLNAME)," ",1))

关于excel - SSIS仅从全名中提取名字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45738072/

相关文章:

excel - dylib 动态库调用 dylib : Undefined symbols for architecture i386

vba - UserForm 中的 Application.Quit 尝试在退出前运行宏的其余部分

c# - 如何在 SSIS 数据流中将表作为存储过程参数传递

java - Lambda 表达式 java 8 异常 : java. lang.NoSuchMethodError : java. lang.invoke.LambdaMetafactory.metaFactory

vba - 清除 K 列中包含 "remove"的每一行的 B 至 G 列内容

vba - 从一个工作表复制数据并粘贴到另一工作表中的相关行

sql - 使用 SSIS 将 CSV 文件值合并到现有的 Azure SQL 数据库中

sql - 从 SSIS 中加载的数据集中过滤掉重复项

python 多个正则表达式

javascript - Angular 将 ViewChild 绑定(bind)到类中的属性