限制

本部分介绍 ODBC 桌面数据库驱动程序在以下部分的限制:

函数限制

函数 限制
聚合函数 聚合函数和非聚合列引用不能同时用作单个 SQL 语句的参数。
标量函数 仅使用 ODBC 规范格式支持标量函数。
设置函数 (AVGMAXMINSUM) 集函数不支持DISTINCT关键字 (keyword) 。
排序 子句、子句SELECT DISTINCTORDER BY语句或外部联接中GROUP BY排序键的最大长度为 255 字节;排序行中所有排序键的最大长度为 65,500 字节。
CONVERT 类型转换失败导致受影响的列设置为 NULL

DATETIMESTAMP 数据类型不能转换为另一种数据类型 (或函数本身) CONVERT

语句限制

语句 限制
ALTER TABLE 有关详细信息,请参阅 ALTER TABLE 语句限制
CALL 不支持将表达式作为被调用过程的参数, (应用于 Microsoft Access 驱动程序) 。
CREATE INDEX 有关详细信息,请参阅 CREATE INDEX 语句限制
CREATE TABLE 有关详细信息,请参阅 CREATE TABLE 语句限制
DELETE 有关详细信息,请参阅 DELETE 语句限制
DROP INDEX (DROP INDEX 适用于 Microsoft Excel 或文本驱动程序) ,不支持语句。
DROP TABLE 使用 Microsoft Excel 5.0、7.0 或 97 驱动程序时, DROP TABLE 语句会清除工作表,但不删除工作表名称。 由于工作簿中仍然存在工作表名称,因此无法创建同名的另一个工作表。
INSERT 有关详细信息,请参阅 INSERT 语句限制
SELECT DISTINCT 关键字 (keyword) DISTINCT 不适用于二进制数据。
SELECT 有关详细信息,请参阅 SELECT 语句限制
UPDATE 有关详细信息,请参阅 UPDATE 语句限制

子句、类型和其他限制

子句或类型 限制
列名 有关详细信息,请参阅 列名称限制
数据类型 有关详细信息,请参阅 数据类型限制
日期算术 不支持从DATE数据类型中减去DATE数据类型的日期算术。
标识符 有关详细信息,请参阅 标识符限制
索引名称 使用 Paradox 驱动程序时,主索引的名称必须与定义它所基于的表相同。 其他唯一或非唯一索引必须与定义它们所基于的表具有相同的名称。
参数化查询 使用 Microsoft Access 驱动程序时,可以使用以下语法调用参数化查询: CALL query-name [ ( parameter [ , parameter ] ... ) ]
保留关键字 有关详细信息,请参阅保留关键字 (keyword) 限制
AND 谓词 最多支持 40 个。
DISTINCT 关键字 Microsoft Access) (字段或 Memo dBASE) (字段不受支持Long Text
FROM clause 子句中 FROM 的最大表数为 16。
HAVING clause 子句中 HAVING 的最大搜索条件数为 40。
LIKE 谓词 有关详细信息,请参阅 LIKE 谓词限制
NOT NULL NOT 不支持 语句中的 CREATE TABLE NULL 约束。
ORDER BY clause SELECT如果语句包含GROUP BY子句和ORDER BY子句,则ORDER BY子句只能包含结果集中的列或子句中的GROUP BY表达式。
表名 有关详细信息,请参阅 表名称限制
表引用 任何查询语句中最多可以包含 16 个表引用。
视图 dBASE、Microsoft Excel、Paradox 或文本驱动程序不支持。
WHERE clause 子句中 WHERE 的最大子句数为 40。

LONGVARBINARYLONGVARCHAR 列可以与长度最多 255 个字符的文本进行比较,但不能使用参数进行比较。
WHERE CURRENT OF clause 不支持。
字符串 有关详细信息,请参阅 字符串限制