Database 如何转义Informix中用作标识符的保留字
可以在JDBC查询中使用分隔标识符,它可以用于以下数据库,甚至对于具有以下分隔符的非保留关键字: SQLServer:方括号=>Database 如何转义Informix中用作标识符的保留字,database,informix,Database,Informix,可以在JDBC查询中使用分隔标识符,它可以用于以下数据库,甚至对于具有以下分隔符的非保留关键字: SQLServer:方括号=>[选择] Postgres、Teradata、Oracle、Sybase和DB2:双引号=>“选择” HIVE和MYSQL:backtick=>`选择` Informix文档说双引号可以用作转义的分隔符,但它不起作用 任何细节都会很有帮助。如果您使用的是informix JDBC 4.10版(不确定以前的版本是否支持它),则可以在连接字符串中或通过属性列表传递DELIM
[选择]
Postgres、Teradata、Oracle、Sybase和DB2:双引号=>“选择”
HIVE和MYSQL:backtick=>`选择`
Informix文档说双引号可以用作转义的分隔符,但它不起作用
任何细节都会很有帮助。如果您使用的是informix JDBC 4.10版(不确定以前的版本是否支持它),则可以在连接字符串中或通过属性列表传递DELIMIDENT=Y参数
DELIMIDENT
When set to Y, specifies that strings set off by
double quotation marks are delimited identifiers
查看文档:很多时候,您不需要使用分隔标识符:
createtableselect(tableinteger不为NULL,INTEGER CHAR(20)不为NULL)
etc工作正常-当您确实需要使用分隔标识符时,select,INTEGER fromtable
(除非JDBC尝试解释SQL!),必须使用双引号,并且必须在环境中设置DELIMIDENT(该值无关紧要;export DELIMIDENT=1
是常规值)。这已经得到了“永远”的支持(大约从1990年开始,IIRC-它不在早期版本中,但无论如何,你不应该在15年以上的时间里一直使用它)。@Jonathan Leffler,谢谢!