ODBC 中的转义序列
很多语言功能(如外部联接和标量函数调用)通常由 DBMS 实现。 但是,这些功能的语法往往因 DBMS 而异,即使标准语法由各种标准主体定义也是如此。 因此,ODBC 定义了包含以下语言功能的标准语法的转义序列:
日期、时间、时间戳和日期时间间隔文本
数值、字符串和数据类型转换函数等标量函数
LIKE 谓词转义字符
外部联接
过程调用
ODBC 使用的转义序列如下所示:
(extension)
注解
转义序列由驱动程序识别和分析,这些驱动程序将转义序列替换为特定于 DBMS 的语法。 有关转义序列语法的详细信息,请参阅附录 C:SQL 语法中的 ODBC 转义序列。
注意
在 ODBC 2.x 中,这是转义序列的标准语法:--(*vendor(vendor-name)、product(product-name)extension *)--
除了此语法之外,还定义了一种简写语法形式:{extension}
在 ODBC 3.x 中,转义序列的长形式已被弃用,并专门使用简写形式。
因为由驱动程序将转义序列映射到特定于 DBMS 的语法,所以应用程序可以使用转义序列或特定于 DBMS 的语法。 但是,使用特定于 DBMS 的语法的应用程序将不可互操作。 使用转义序列时,应用程序应确保关闭 SQL_ATTR_NOSCAN 语句属性,默认情况下该属性是关闭的。 否则,转义序列将直接发送到数据源,它在其中通常会导致语法错误。
驱动程序仅支持这些可以映射到基础语言功能的转义序列。 例如,如果数据源不支持外部联接,驱动程序也不会支持它们。 若要确定支持哪些转义序列,应用程序会调用 SQLGetTypeInfo 和 SQLGetInfo。 有关详细信息,请参阅下一部分日期、时间和时间戳文本。
本部分包含以下主题。