【问题标题】:Oracle SQL - Escape ampersand in field name [duplicate]Oracle SQL - 字段名称中的转义与符号[重复]
【发布时间】: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,但这是在值字符串中转义与号,而不是标签字符串。

【问题讨论】:

  • 我的帖子特别提到线程不是解决这个问题的方法。

标签: sql oracle toad


【解决方案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 中绕过它吗?
  • 是的。作品!谢谢你。狡猾的小蟾蜍。 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 - 是的,我也有。更新了代码。谢谢。
猜你喜欢
  • 2015-01-07
  • 2013-07-15
  • 2021-10-17
  • 1970-01-01
  • 2014-08-04
  • 1970-01-01
  • 2019-03-17
  • 2018-11-07
  • 1970-01-01
相关资源
最近更新 更多