获取最大ID时获取无效标识符错误

时间:2013-05-04 04:29:20

标签: sql oracle

我是Oracle的新手。我在数据库中没有记录,我试图得到* max(col_name)*但它返回无效的标识符值。怎么处理呢?

1 个答案:

答案 0 :(得分:1)

  

Oracle在双重qoutation中将函数和表达式称为STRING

通常不这样做......当然不适用于标准的内置函数名称,如MAX

您只需对使用quouted identifiers定义的对象名称使用doube引号。

从您的评论中可以看出,您的表格的创建方式如下:

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

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

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

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