如何在Oracle查询的列别名中包含与号

问题描述

我正在创建一个查询以将数据发送给供应商,并且需要设置列名称以匹配其规格。我可以为大多数列设置列名;但是,一些字段的列名中包含“&”。运行查询时,列别名中的&字符导致显示替换变量对话框。虽然这是使用&字符时的正常行为,但是如果列别名中包含&符,是否有任何选项可以抑制该行为?

理想情况下,我希望查询不显示对话框的情况下运行,并且在输出的列名称中包含&字符。

示例

PAY_DED_CODE as "AD&D CODE",PAY_DED_CODE_EFF_DATE as "AD&D EFFECTIVE DATE",PAY_DED_CODE_STATUS as "AD&D STATUS",PAY_DED_CODE_AMOUNT as "AD&D DEDUCTION AMOUNT" 

解决方法

我强烈建议您不要这样做。然后,您将在要使用该列的其他所有地方屏蔽。与在列名称中嵌入空格相同,只是一个好主意。

相反,我会将其放在显示给用户的UI中,并创建您的屏幕以显示预定义的标题(希望它们出现)。或者,如果数据输出的列是自动生成的,那么我将有一个例程可以根据某些命名约定/模式来修复它们。

例如:如果列名具有“ AD_D”,则更改为“ AD&D”

您还可以编写代码,以将“ CamelCasingStrings”处理为“ Camel Case Strings”,例如大写字符表示应留有一定的空间,以便为最终用户提供自然的可读性。

但是列名和空格中的特殊字符意味着您总是必须在带引号的代码中包裹一些将来可能不太适合的地方,尤其是像使用其他语言进行演示的基于Web的输出一样。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...