如何在Oracle中转义保留字?

25 浏览
0 Comments

如何在Oracle中转义保留字?

在TSQL中,我可以使用类似Select [table] from tablename的语句选择名为\"table\"的列。

在Oracle中,我该如何选择保留字呢?

编辑:我尝试了方括号、双引号、单引号和反引号,它们都不起作用...

进一步说明一下,我有一个被命名为comment的列。由于这是一个保留字,所以在尝试选择它时,Oracle会出现错误,解析查询时失败。我尝试了Select \"comment\" from tablename但它没用。我会检查大小写并回来。

admin 更改状态以发布 2023年5月24日
0
0 Comments

在SQL语句中,Oracle通常需要使用双引号来界定标识符的名称,例如:

SELECT "MyColumn" AS "MyColAlias"
FROM "MyTable" "Alias"
WHERE "ThisCol" = 'That Value';

然而,它慷慨地允许省略双引号,这时它会静默地将标识符转换为大写:

SELECT MyColumn AS MyColAlias
FROM MyTable Alias
WHERE ThisCol = 'That Value';

会在内部转换为类似以下的形式:

SELECT "ALIAS" . "MYCOLUMN" AS "MYCOLALIAS"
FROM "THEUSER" . "MYTABLE" "ALIAS"
WHERE "ALIAS" . "THISCOL" = 'That Value';

0
0 Comments

从快速搜索中可以看出,Oracle似乎使用双引号(例如“table”),而且显然需要正确的大小写 - 对于任何有兴趣的人而言,MySQL默认使用反引号(`),除非设置为使用双引号以实现兼容性。

0