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 语句属性,默认情况下该属性是关闭的。 否则,转义序列将直接发送到数据源,它在其中通常会导致语法错误。

驱动程序仅支持这些可以映射到基础语言功能的转义序列。 例如,如果数据源不支持外部联接,驱动程序也不会支持它们。 若要确定支持哪些转义序列,应用程序会调用 SQLGetTypeInfoSQLGetInfo。 有关详细信息,请参阅下一部分日期、时间和时间戳文本

本部分包含以下主题。