如何在Oracle中转义保留字?
如何在Oracle中转义保留字?
在TSQL中,我可以使用类似Select [table] from tablename
的语句选择名为\"table\"的列。
在Oracle中,我该如何选择保留字呢?
编辑:我尝试了方括号、双引号、单引号和反引号,它们都不起作用...
进一步说明一下,我有一个被命名为comment的列。由于这是一个保留字,所以在尝试选择它时,Oracle会出现错误,解析查询时失败。我尝试了Select \"comment\" from tablename但它没用。我会检查大小写并回来。
admin 更改状态以发布 2023年5月24日
在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';