使用 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))))