首页 >数据库 >mysql教程 >星号或百分号:哪种通配符适用于 Microsoft Jet 的 LIKE 运算符?

星号或百分号:哪种通配符适用于 Microsoft Jet 的 LIKE 运算符?

Mary-Kate Olsen
Mary-Kate Olsen原创
2025-01-10 09:41:42686浏览

Asterisk or Percentage Sign: Which Wildcard Works in Microsoft Jet's LIKE Operator?

Microsoft Jet数据库引擎中的通配符难题:星号与百分号

在Microsoft Jet数据库引擎中,LIKE运算符允许使用多字符通配符进行模式匹配。然而,选择星号(*)还是百分号(%)作为通配符一直是一个令人困惑的问题。

Jet引擎中通配符的行为取决于ANSI查询模式设置:

  • ANSI-89查询模式(传统模式): 使用星号(*)作为多字符通配符。
  • ANSI-92查询模式(SQL Server兼容模式): 使用百分号(%)作为多字符通配符。

这些模式是Jet特有的,与ANSI/ISO SQL标准并不完全兼容。

接口特定的设置:

  • ADO(OLE DB)接口始终使用ANSI-92查询模式。
  • DAO接口始终使用ANSI-89查询模式。
  • ODBC接口允许使用ExtendedAnsiSQL标志显式指定查询模式。
  • 从2003版开始,MS Access用户界面可以使用任一查询模式。

替代方案:ALIKE关键字

为了避免混淆并确保可移植性,可以使用ALIKE关键字强制使用ANSI-92查询模式字符(%和_),而不管接口的查询模式如何。但是,此关键字未正式支持,可能不被认为是SQL-92兼容的。

以上是星号或百分号:哪种通配符适用于 Microsoft Jet 的 LIKE 运算符?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn