【发布时间】:2019-03-31 11:42:09
【问题描述】:
我创建了一个 foreach 循环,该循环遍历 Excel 文件中的工作表。根据工作表的名称,执行多个数据流任务之一。
这是通过执行 SQL 任务实现的,该任务根据表中的值验证变量,并根据某些条件返回值。
由于某种原因,当工作表名称没有任何空格(例如 MyTab)时它可以正常工作,但是,当有空格时(例如 My Tab),它不能正确匹配。
我已尝试根据 DB 表中的以下值评估工作表名称。
- 我的标签$
- “我的标签$”
- “我的标签”$
- {'我的标签$'}
- [我的标签$]
- ['我的标签$']
- “我的标签$”
- 我的标签
- 我的标签$
- (我的标签$)
- ''我的标签$''
- [''我的标签$'']
- 我的$Tab$
但是,这些都不会根据工作表名称“我的标签”进行评估
我用来评估变量的 SQL 是:
DECLARE @SheetName VARCHAR(100)
SET @SheetName = 'Tab1$'
IF EXISTS (SELECT 1
FROM [dbo].[xx]
WHERE sheetname = @SheetName)
-- The variable evaluates against the values in the sheetname column
BEGIN
SELECT 1 AS SheetExistsFlg
END
ELSE IF EXISTS (SELECT 1
FROM [dbo].[xx]
WHERE 'Tab 2$' = @SheetName)
BEGIN
SELECT 2 AS SheetExistsFlg
END
ELSE
BEGIN
SELECT 0 AS SheetExistsFlg
END
有什么想法吗?
【问题讨论】:
-
欢迎阅读Tour page
标签: sql sql-server excel ssis etl