使用 SSIS 派生列提取中间名
Extract middle name using SSIS derived column
(SSIS 主题) 我有一个全名列,其中包含 中间名首字母 和 没有中间名首字母的名字。我怎样才能得到中间的首字母并将它放在中间的首字母列中。如何使用 SSIS 派生列.
解决此问题
|Middle Initial |Full Name |
| |Carl T. Simpson |
| |Karen Thompson |
| |Donald J. Clinton |
| |Samantha Shelby |
这是我想要达到的结果
|Middle Initial |Full Name |
|T. |Carl T. Simpson |
| |Karen Thompson |
|J. |Donald J. Clinton |
| |Samantha Shelby |
您可以使用以下表达式简单地解决此问题:
TOKENCOUNT(@[Full Name]," ") > 2 ? TOKEN(@[Full Name]," ",2) : ""
如果您使用的是 SQL Server 2012 的早期版本,您可以试试这个表达式(如果不包括中间名,不确定它是否适用):
LTRIM(RTRIM(SUBSTRING(@[Full Name],FINDSTRING(@[Full Name]," ",1),FINDSTRING(@[Full Name]," ",2) - FINDSTRING(@[Full Name]," ",1))))
(SSIS 主题) 我有一个全名列,其中包含 中间名首字母 和 没有中间名首字母的名字。我怎样才能得到中间的首字母并将它放在中间的首字母列中。如何使用 SSIS 派生列.
解决此问题|Middle Initial |Full Name |
| |Carl T. Simpson |
| |Karen Thompson |
| |Donald J. Clinton |
| |Samantha Shelby |
这是我想要达到的结果
|Middle Initial |Full Name |
|T. |Carl T. Simpson |
| |Karen Thompson |
|J. |Donald J. Clinton |
| |Samantha Shelby |
您可以使用以下表达式简单地解决此问题:
TOKENCOUNT(@[Full Name]," ") > 2 ? TOKEN(@[Full Name]," ",2) : ""
如果您使用的是 SQL Server 2012 的早期版本,您可以试试这个表达式(如果不包括中间名,不确定它是否适用):
LTRIM(RTRIM(SUBSTRING(@[Full Name],FINDSTRING(@[Full Name]," ",1),FINDSTRING(@[Full Name]," ",2) - FINDSTRING(@[Full Name]," ",1))))