Oracle:访问名为“的列”;“全部”;
大家好。我有一个表,其中一个列名是“All”,我想得到这个列。我正在尝试使用下一个简单查询:Oracle:访问名为“的列”;“全部”;,oracle,Oracle,大家好。我有一个表,其中一个列名是“All”,我想得到这个列。我正在尝试使用下一个简单查询: SELECT All FROM TableName ,但我有ORA-00936。当我使用just时: SELECT * FROM TableName 我看到带有“All”名称的必填列。在表规范中,我看到下一个SQL脚本: create table TableName ( houseid NUMBER not null, id NUMBER not null, note
SELECT All
FROM TableName
,但我有ORA-00936。当我使用just时:
SELECT *
FROM TableName
我看到带有“All”名称的必填列。在表规范中,我看到下一个SQL脚本:
create table TableName
(
houseid NUMBER not null,
id NUMBER not null,
note VARCHAR2(255),
all NUMBER
)
如何访问“全部”列?用引号括起来
SELECT "all"
FROM TableName
这是不使用oracle保留关键字作为表名或列名的一个很好的理由,但通过使用doublequote“
可以访问它们
请记住,当您使用
“
时,您必须在声明中保持一致。不是同一句话中的“全部”和“全部”,非常感谢。我完全同意你的观点,但DB不是神话,其他答案是正确的,双引号内的字符串区分大小写,列名是大写的。真的吗?请看问题中的CREATETABLE语句。列名为小写。@MarkLeiber请再次查看。CREATE TABLE语句在列名周围不包含双引号-这会创建不区分大小写的列(基本上将其转换为大写),从而使ALL
成为正确的名称。可能这取决于所使用的客户端工具,但是createtable
脚本的当前状态肯定会出现无效标识符的错误吗?我想在同意这些答案之前,先描述一下表格,以获得正确的案例。
SELECT "ALL" from TABLENAME