我写了一个包含参数类型varchar2的过程,我从我的应用程序字符串传递就像“'O','H','Y'”,我的查询在下面。
select * from table_name t where t.productname in (parameter)
查询不返回任何数据。如何处理?
我尝试双或三个quatition标记。
答案 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;