Oracle SQL - 字段名称中的转义与符号[重复]

Posted

技术标签:

【中文标题】Oracle SQL - 字段名称中的转义与符号[重复]【英文标题】:Oracle SQL - Escape ampersand in field name [duplicate] 【发布时间】:2019-11-08 20:06:25 【问题描述】:

我看过很多相关的帖子,但还没有一个可以解决我的具体问题。

在 Oracle SQL 中,我需要执行以下操作:

SELECT field1 "Eggs&Cheese"
FROM table1;

但它读取&Cheese 并想要进行参数替换。我只希望字段名称为Eggs&Cheese

我看到了这个帖子Escape ampersand with SQL Server,但是Oracle不喜欢括号[]语法。

还有Escaping ampersand character in SQL string,但这是在值字符串中转义与号,而不是标签字符串。

【问题讨论】:

我的帖子特别提到线程不是解决这个问题的方法。 【参考方案1】:

替换与您使用的工具有关,与列别名无关。

db<>fiddle demo


根据工具的不同,您可以像“set define off”一样禁用它。

相关:Set define off not working in Oracle SQL Developer & How to escape ampersand in TOAD?

【讨论】:

我正在使用 Toad for Oracle。 SET DEFINE OFF 无法解决。知道如何在 Toad 中绕过它吗? @alexherm ***.com/a/52402623/5070879 是的。作品!谢谢你。狡猾的小蟾蜍。 In TOAD version 12.120.39 Right click in Editor and Click in Substitution Variable Prompting and select none【参考方案2】:

您必须设置转义。在 Oracle SQL Developer 中工作。

set escape \
SELECT field1 "Eggs\&Cheese" FROM table1;

工作完成后,您可以将其关闭。

set escape off

【讨论】:

这在 Toad 中对我不起作用。 这可能只是我的无知,但您在实际查询中不需要使用转义字符吗? 哇,我刚刚在 Oracle SQL Developer 中尝试过,它正在工作。 @Dortimer - 是的,我也有。更新了代码。谢谢。

以上是关于Oracle SQL - 字段名称中的转义与符号[重复]的主要内容,如果未能解决你的问题,请参考以下文章

sql系统关键字转义

oracle中的转义符 - 在oracle中插入单引号与'&'

oracle字段中含特殊字符

在 PL/SQL Developer 中转义 & 符号

Oracle 语句如何转义

Oracle中特殊字符&和'的处理方案