如果我的查询是
SELECT from FROM myTable;
如何从'中删除列名称。
我需要一种适用于Oracle,MySQL,Teradata和所有其他系统的方法
威尔
SELECT myTable.from FROM mytable;
在所有系统上工作?
答案 0 :(得分:3)
SQL标准非常明确:保留关键字只能在用双引号括起来时使用:
"Foo"
请注意,带引号的标识符也是敏感的大小写。 "FOO"
和Foo
是两个不同的名字! (而FOO
和sql-mode
在标准SQL和大多数DBMS中的名称相同
我需要一种适用于Oracle,MySQL,Teradata和所有其他系统的方法
Postgres,Oracle,DB2(LUW),Firebird,Ingres,HSQLDB,H2,Vertica,HANA和Teradata符合开箱即用的标准。
MySQL需要通过将ANSI
设置为ANSI_QUOTES
或至少QUOTED_IDENTIFIER
来确信尊重该标准。
对于SQL Server,需要将on
选项设置为DELIMIDENT
。
对于Informix,您需要在通过JDBC连接时将y
设置为 .projectBoxes {
vertical-align: top;
}
但总的来说,你应该真的避免使用带引号的标识符。通常情况下,你迟早会遇到麻烦。
答案 1 :(得分:0)
通用方法???不确定任何此类但双引号""
是ANSI标准,除了每个RDBMS都有一些特定的方法。此外,如果您不使用表或列名称的保留字或关键字,则不需要任何此类通用方法..正如评论中已建议的那样