首页 > 解决方案 > 从反斜杠 SQL/SSIS 中分隔字符串

问题描述

我试图根据反斜杠分隔字符串,我尝试使用 token 函数,但后来意识到 '\' 字符是转义字符。有什么方法可以将字符串与反斜杠分隔开吗?

这就是我的令牌功能目前的样子。

Token(@[User::DynamicFilename],"\", 7)

标签: sqlsql-serverssisexpressionetl

解决方案


首先使用双反斜杠\\而不是 one \,您应该使用 TOKEN 和 TOKEN Count 函数来检索文件名:

TOKEN(@[User::DynamicFilename],"\\", TOKENCOUNT(@[User::DynamicFilename],"\\"))

因此,如果您要从完整文件路径中提取文件名,tokencount 将检测到最近出现的反斜杠。例子:

考虑该@[User::DynamicFilename]值是:

C:\我的文件\文件夹\file.txt

由于TOKENCOUNT()将返回3,那么表达式 be 将是

TOKEN(@[User::DynamicFilename],"\\",3)

它会返回

文件.txt


推荐阅读