PL / SQL使用参数包含引号

时间:2013-03-15 12:48:19

标签: sql plsql

我写了一个包含参数类型varchar2的过程,我从我的应用程序字符串传递就像“'O','H','Y'”,我的查询在下面。

select * from table_name t where t.productname in (parameter)

查询不返回任何数据。如何处理?

我尝试双或三个quatition标记。

3 个答案:

答案 0 :(得分:2)

尝试设置像'O,H,Y'

这样的参数

Here你可以看到一些例子

答案 1 :(得分:0)

如果您尝试将过程作为参数传递,那么您应该得到任何内容或错误。您只能传递一个返回值的函数,众所周知。您需要添加代码和示例以帮助您。你究竟在传递什么?()?

-- Correct syntax to pass parameters in your case --
select * from table_name t where t.productname in ('O', 'H', 'Y')
/

答案 2 :(得分:0)

要在SQL查询中传递单引号,请使用两次单引号。简单!

你可以:

select * from table_name t where t.productname in ('''O''', '''H''', '''Y''')

要测试此功能,您可以使用:

SELECT 'Schindler''s List' AS fname FROM dual;

并看到您可以轻松地将单引号传递给查询。

双引号在这里并不重要。我们可以直接在SQL字符串文字中使用双引号,比如

SELECT 'He said, "Give me my teddy bear!"' AS dilogue FROM dual;