【发布时间】:2018-05-12 10:44:41
【问题描述】:
我有一个 firebird 数据库和一个来自 excel 的查询。一开始我有
WHERE (table.myID IN (1,2,3))
用于将 SQL 中的参数传递给 firebird。我的 table.myID 是整数。然后我尝试使用
从 excel 传递参数WHERE (table.myID IN (?))
我将? 指向一个单元格。如果在单元格中只有一个数字有效。但是,如果我从一个单元格中?=1, 2, 3,则查询不起作用。我试图引用上下文,格式化单元格但没有成功。
this 或 this 或 this 等其他帖子在带有 文本列表 的示例中使用 INSTR 和 VBA 解决此难题。我是 firebird 新手,不知道类似的 INSTR 命令或传递此整数列表的其他方法。
那么我怎样才能从一个单元格中传递一个整数列表呢?
【问题讨论】:
-
问题出在数字上。对我来说,从单元格到 excel 到底传递了什么?
-
@LuizCarlosStevanatto 您应该构建 excel 并传递字符串,该字符串由由约定的分隔符分隔并包裹的数字组成,您的 SQL 查询将在 LIKE 子句中使用该字符串
-
LIKE 子句是基本的 ANSI SQL。当标准 SQL 提供相同的功能时,使用非标准的 Visual Basic 功能是很奇怪的。 @lad2025 为您提供了它的 MS SQL 示例 - 尽管坦率地说,这并不重要,因为它是每个 SQL 服务器都应该实现的通用标准 SQL。 Firebird 示例是 Route#2,stackoverflow.com/a/43997801/976391
-
请不要在问题标题中添加“[已解决]”之类的内容,而是接受解决您问题的答案(对于自答问题,您可以接受之前有超时)