创建一个带双引号的表来逃避真正的双引号似乎在Oracle的SQL语法中不起作用:
CREATE TABLE "MyTable" (
"Col""umn 1" varchar(168)
);
以上失败。有没有办法逃避双重引用以使'Col'umn 1'?
答案 0 :(得分:8)
你做不到。 根据{{3}}:
不带引号的标识符只能包含来自的字母数字字符 您的数据库字符集和下划线(_),美元符号($), 和英镑符号(#)。数据库链接还可以包含句点(。)和 “at”标志(@)。 Oracle强烈反对使用$和#in 不带引号的标识符。
带引号的标识符可以包含任何字符和标点符号 以及空间。但是,既没有引用也没有引用标识符 可以包含双引号或空字符(\ 0)。
答案 1 :(得分:2)
当然,您可以使用unicode!
SELECT
1 "“Unicode Rocks”",
2 "ʺSooo cooolʺ",
3 ""My co-workers love me""
FROM DUAL
答案 2 :(得分:0)
也许这会有所帮助......但请不要创建包含此类列的表格:
CREATE TABLE DropMe AS
SELECT rpad('X', 168, ' ') "Col''umn1" FROM dual
/
SELECT * FROM DropMe
/
SQL>
Col"umn1
-------------------------------------.....
X