如何从具有字段名称作为默认关键字的 Oracle 表中选择值

Posted

技术标签:

【中文标题】如何从具有字段名称作为默认关键字的 Oracle 表中选择值【英文标题】:How to select value from Oracle table having field name as default keyword 【发布时间】:2020-02-18 04:00:25 【问题描述】:

我们的 Oracle 表具有默认关键字(即作为字段名称)字段名称。现在我正在查询表但无法提取特定字段数据。

select a.filename,a.in from table a

以下错误出现“无效的字段名。

【问题讨论】:

你能提供一些关于你的桌子的信息吗? 【参考方案1】:

尝试使用双引号。

select a."IN" from table a

【讨论】:

如果 IN 在你的表中是小写的,那么你应该尝试“in”。 @imransatti 我希望您尝试使用表名而不是“table”关键字。【参考方案2】:

您可以使用默认 (oracle reserved) 关键字作为 columns 的名称,但是不建议使用它。

无论如何,如果您想使用 oracle 保留关键字,那么您必须将它们括在 双引号 中。

请注意,oracle 在其对象名称方面不区分大小写,除非它包含在双引号中。这意味着如果您将任何对象名称括在双引号中,那么您必须以区分大小写的方式在整个数据库中的任何位置使用它们。

所以如果你的表定义是:

CREATE TABLE YOUR_TABLE ("IN" NUMBER);

那么你需要在任何你想引用列的地方使用"IN",但是如果你的表定义是:

CREATE TABLE YOUR_TABLE ("in" NUMBER);

然后,您需要在要引用该列的任何位置使用"in"。 -- 区分大小写的名称。

我希望它能消除你所有的疑虑。

干杯!!

【讨论】:

以上是关于如何从具有字段名称作为默认关键字的 Oracle 表中选择值的主要内容,如果未能解决你的问题,请参考以下文章

在oracle 怎样设置自动递增的的字段,也就是设置自动递增的ID 主键

Oracle中如何查询CLOB字段类型的内容

solr 名称 关键字两个字段权重设置

怎样将oracle关键字作为字段名

将oracle关键字作为字段名

如何从具有相同名称的字段的表单创建 JSON 文件?