【问题标题】:Extract middle name using SSIS derived column使用 SSIS 派生列提取中间名
【发布时间】:2020-10-10 10:30:31
【问题描述】:

(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   |                 

【问题讨论】:

  • @Benzi 我在发布这个问题之前尝试了这些代码,但我不起作用,因为该列包含带中间名和不带中间名的名称。如果这个问题很简单,那么它现在可能已经正确回答了。谢谢

标签: sql-server ssis expression etl derived-column


【解决方案1】:

您可以使用以下表达式简单地解决此问题:

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

【讨论】:

  • 感谢您的回答
猜你喜欢
  • 2021-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-14
  • 1970-01-01
相关资源
最近更新 更多