sql-server - ssis 子字符串 charindex ,拆分名字和姓氏
问题描述
我在 SSIS 中有一个 Excel 源代码,[Name]
其中有一列名为Joe Bloggs
我想将 [Name] 分为 [Forename] 和 [Surname]
请问如何创建两个派生列,因为它不能用作 SQL 语句
正常的 SQL 将是:
SUBSTRING([Name], 1, CHARINDEX(' ', [Name]) - 1) AS [Forename]
SUBSTRING([Name], CHARINDEX(' ', [Name]) + 1, LEN([Name])) AS [Surname]
CHARINDEX()
在派生列中不起作用
请帮忙
解决方案
您可以使用TOKEN()
和TOKENCOUNT()
函数来拆分列,如下所示:
名:
TOKEN([Name]," ",1)
姓:
TOKEN([Name]," ",TOKENCOUNT([Name]," "))
此外,该函数是SSIS 表达式FINDSTRING()
中 SQL 函数的替代。CHARINDEX()
举个例子:
FINDSTRING([Name], " ", 1)
参考
推荐阅读
- javascript - 使用javascript在浏览器中从数组中显示一行随机图片
- python-3.x - 如何将 ImageTk 转换为图像?
- javascript - 在 Laravel 中使用 Ajax 将数据从视图传递到控制器
- c++ - OpenGL 将 ClipCoord 转换为 ScreenCoord
- javascript - 在字符串数组中使用 .map 但为空字符串返回未定义
- keras - 如何从 .h5 和 .json 文件中获取模型架构?
- pandas - 在熊猫中将年中值扩展到月份
- html - 无法使 CSS 按钮可点击
- excel - Excel公式查找与某个值组合最接近的X值组合
- opencv - 如何让 apt-get 忽略 ros-kinetic-opencv3?