Microsoft Jet SQL 和 ANSI SQL 的比較

此頁沒有內(nèi)容條目
內(nèi)容

Microsoft Jet 數(shù)據(jù)庫引擎 SQL 和 ANSI SQL 的比較

Microsoft Jet 數(shù)據(jù)庫引擎 SQL通常屬于 ANSI-89 Level 1。然而,ANSI SQL 的某些功能在 Microsoft Jet SQL 中沒有實現(xiàn)。隨著 Microsoft Jet 4.X 版的發(fā)行,可以看出 Microsoft OLE DB Provider for Jet 使用了更多的 ANSI-92 SQL 語法。相反地,在 ANSI SQL 中也不支持 Microsoft Jet SQL 所包含的某些保留字和性能。

主要的差異
?Microsoft Jet SQL 和 ANSI SQL 都有不同的保留字和數(shù)據(jù)類型。欲知更多信息請看 Microsoft Jet 數(shù)據(jù)庫引擎 SQL 保留字s等效的 ANSI SQL數(shù)據(jù)類型。將 Microsoft OLE DB Provider for Jet 與 Jet 4.X 協(xié)同使用,會有額外的保留字。
?Between...And 的構(gòu)造應(yīng)用了不同的規(guī)則,語法如下:

expr1 [NOT] Between value1 And value2

在 Microsoft Jet SQL 中,value1 可以大于 value2; 而在 ANSI SQL 中,value1 則必須等于或小于 value2。

?Microsoft Jet SQL支持 ANSI SQL 通配符 和 Microsoft Jet-specific 通配符Like 運(yùn)算符一起使用。 ANSI或 Microsoft Jet 通配符 是互相排斥的。你只能用其中一組,不能同時使用。僅當(dāng)使用 Jet 4.X 和 Microsoft OLE DB Provider for Jet 時,ANSI SQL 通配符才可用。若嘗試通過 Microsoft Access 或 DAO 使用 ANSI SQL 通配符,則會將其解釋為原義字符。當(dāng)使用 Microsoft OLE DB Provider for Jet 和 Jet 4.X 時,情形恰好相反。

 

符合字符

Microsoft Jet SQL

ANSI SQL

任何單一字符

?

_(下劃線)

零個或多個字符

*

%

 

?Microsoft Jet SQL 通常限制的比較少。例如,它允許在表達(dá)式中進(jìn)行分組和排序。
?Microsoft Jet SQL 提供了更強(qiáng)有力的表達(dá)式。
Microsoft Jet SQL 的加強(qiáng)功能

Microsoft Jet SQL 提供了下列加強(qiáng)功能:

    TRANSFORM 語句支持連接查詢

?附加合計函數(shù)s, 如 StDev VarP

    PARAMETERS說明語句定義參數(shù)查詢

Microsoft Jet SQL 不支持的 ANSI SQL 功能

Microsoft Jet SQL 不支持下列 ANSI SQL 的功能:

?DISTINCT 合計函數(shù)引用。例如,Microsoft Jet SQL 不允許 SUM(DISTINCT 字段名)。
?用來限制查詢返回行數(shù)的 LIMIT TO nn ROWS 子句。你可以只用 WHERE 子句限定查詢的范圍。
請參閱

等效的 ANSI SQL 數(shù)據(jù)類型

Microsoft Jet 數(shù)據(jù)庫引擎 SQL 的保留字

Like 運(yùn)算符 (Microsoft Jet SQL)

SQL 合計函數(shù)(SQL)

Microsoft Jet 數(shù)據(jù)庫引擎 SQL 的數(shù)據(jù)類型

在字符串比較中使用通配符