查询帮助 - where子句中的字符串有&字符

时间:2011-02-16 18:45:50

标签: sql oracle plsql toad

我正在运行像这样的SQL(Oracle)语句

select * from table 
where table_id in ('265&310', '266&320')

在通过TOAD运行时,它将 & 视为一些变量占位符,并询问其值。如果它是1-2个占位符,那么我可以在TOAD中设置它,但是in子句中有200个字符串。

如何提出此查询?

我想将DATASET导出为SQL INSERT语句,因此我不能在SQL-PLUS中使用它。

3 个答案:

答案 0 :(得分:7)

SET DEFINE OFF;

可以关闭变量提示..

SET ESCAPE ON;
SELECT 'blah \& blah' AS DES FROM DUAL;

答案 1 :(得分:4)

在TOAD中,您可以从选项对话框中禁用替换变量的提示:

您需要取消选中: 查看 - > Toad选项 - >执行/编译 - >提示替换变量。

答案 2 :(得分:2)

您可以使用连接来转义&符号,如下所示:

select * from table 
where table_id in ('265' || '&' || '310', '266' || '&' || '320')