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 - 字段名称中的转义与符号[重复]的主要内容,如果未能解决你的问题,请参考以下文章