我有一个 Office 数据连接,它针对外部数据源运行 SQL 查询,并使用工作表中单元格中提供的一些动态参数。只要我执行类似以下操作
SELECT * FROM TABLE1 WHERE FIELD1 = ?
并适当设置参数源,一切正常。但是如果我尝试类似
SELECT * FROM TABLE1 WHERE FIELD1 IN (?)
任何尝试提供像1,3,5,7
查询这样的值的尝试似乎只关注列表中的第一个值,而不是整个源(因此使用1,3,5
我获得相应字段中带有 1 的行,使用3,5,7
我获得相应字段中带有 3 的行)。
有没有一种方法可以让我提供一个值列表,用作 SQL 查询中 IN 运算符的参数值,而我完全没有注意到?
编辑
我将参数值列表放在单个 Excel 字段中。Excel 还会自动在字段值前面添加'
,就像它转义需要作为文本处理的值一样。似乎没有单元格格式组合可以摆脱该'
字符。
(1,3,5)
在查询主体中提供而不是(?)
按预期工作;只有当尝试使用 Excel 单元格作为动态参数时,事情才不起作用。