Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 如何转义Informix中用作标识符的保留字_Database_Informix - Fatal编程技术网

Database 如何转义Informix中用作标识符的保留字

Database 如何转义Informix中用作标识符的保留字,database,informix,Database,Informix,可以在JDBC查询中使用分隔标识符,它可以用于以下数据库,甚至对于具有以下分隔符的非保留关键字: SQLServer:方括号=>[选择] Postgres、Teradata、Oracle、Sybase和DB2:双引号=>“选择” HIVE和MYSQL:backtick=>`选择` Informix文档说双引号可以用作转义的分隔符,但它不起作用 任何细节都会很有帮助。如果您使用的是informix JDBC 4.10版(不确定以前的版本是否支持它),则可以在连接字符串中或通过属性列表传递DELIM

可以在JDBC查询中使用分隔标识符,它可以用于以下数据库,甚至对于具有以下分隔符的非保留关键字:

SQLServer:方括号=>
[选择]

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,谢谢!