0

我是甲骨文的新手。我在数据库中没有记录,我正在尝试获取 *max(col_name)* 但它返回无效的标识符值。如何处理?

4

1 回答 1

1

Oracle 在双引号中要求函数和表达式为 STRING

它通常不会这样做......当然不是标准的内置函数名称,如MAX.

您只需在使用 quouted identifiers定义的对象名称周围使用双引号。

从您的评论看来,您的表是这样创建的:

create table "TABLENAME" ("sub_id" number, ...);

...这意味着您在引用它时总是必须在列名周围使用双引号。这将继续是一种痛苦并给您带来问题,所以我真的建议您不要使用混合大小写的名称或任何其他需要引用的东西。

如果使用了不带引号的标识符(或者带引号的名称无论如何都是大写的,例如"SUB_ID"),那么 Oracle 不区分大小写,并且其中任何一个都是有效的:

select max(sb_id) from ...
select max(SB_ID) from ...
select max(Sb_Id) from ...

等等

于 2013-05-04T06:32:54.680 回答