【发布时间】:2017-11-30 09:25:52
【问题描述】:
以下是我的查询,我将字符串值 1,2 作为绑定值传递,但它显示错误,因为它不是有效数字。我知道 IN 只接受数字,但在这里我需要传递字符串值
SELECT e.*
FROM employee_detail e
WHERE e.emp_id IN (:emp_id)
【问题讨论】:
-
您追求动态列表吗?如果是这样,也许this 对您有用?
-
恐怕你必须告诉我们更多。我尝试通过 Lazarus 使用字符串绑定变量,没有问题。我猜对了:您想准确地将 1 个字符串值“1,2”传递给此查询?
-
qry.SQL.Text := 'SELECT * FROM BLABLA WHERE BLA IN (:P1)'; qry.ParamByName('P1').AsString := '1,2'; qry.Active:=true;
-
简单地说,你不能那样做。 Oracle 不允许以逗号分隔的数字列表作为字符串传递。
-
How to load a large number of strings to match with oracle database? 给出了如何使用 Java 将值数组绑定到 Oracle 集合的示例。与该问题相关联的是其他多个处理与该问题类似主题的问题。
标签: oracle bind-variables