【发布时间】:2020-08-20 21:27:49
【问题描述】:
我正在尝试运行此查询:
select *
from my_table
where column_one=${myValue}
我在 Datagrip 中收到以下错误:
[42883] ERROR: operator does not exist: character varying = bigint Hint: No operator matches the given name and argument types. You might need to add explicit type casts.
现在,我找到了这个question,我可以通过输入这样的字符串来修复错误:
select *
from my_table
where column_one='123'
我需要的是一种将“123”作为参数传递的方法。我通常这样做${myValue} 并且它有效,但我不确定如何将我的变量作为输入保存在那里,以便我可以在代码中运行动态查询并让 Postgres 了解我想传入一个字符串而不是数字。
有什么建议吗?
这是我如何将参数值放入 DataGrip 的屏幕截图...:
好的,所以,我只是尝试在 myValue @thirumal 的答案工作的数据手柄参数输入字段中加上引号。我不知道我必须引用它的价值才能工作。 这是它的样子:
【问题讨论】:
-
但是如何绑定
myValue参数?你能告诉我们你是如何执行查询的吗? -
${myValue}::varchar
-
您使用的是哪种编程语言和数据库接口?正如 Marc 已经提到的:运行该语句并传递参数的代码很重要
-
我正在使用 JetBrains 的 Datagrip。如图所示,我从字面上粘贴了查询,然后在弹出的参数中设置了值。 (附上截图)
标签: postgresql