gpt4 book ai didi

sql - Microsoft Jet 通配符 : asterisk or percentage sign?

转载 作者:行者123 更新时间:2023-12-03 03:33:43 26 4
gpt4 key购买 nike

Microsoft Jet 中 LIKE 运算符中正确的多字符通配符是什么?什么设置会影响它(如果有)?我支持一个在 Microsoft Jet(在 Access 数据库上)上运行的旧 ASP 应用程序,它在 LIKE 运算符中使用 % 符号,但我有一位客户在他的环境中显然存在问题,因为 % 字符被理解为常规字符字符,我假设他的多字符通配符是*。另外,我几乎可以肯定,过去我编写过使用 * 而不是 % 进行查询的应用程序。最后,Microsoft Access(作为应用程序)也仅适用于 * 而不是 %(但我不确定它的相关性如何)。

我只花了大约 20 分钟在互联网上搜索,没有任何有用的结果,所以我认为在 stackoverflow 上提问会很有用。有人可能已经知道了,无论如何,最好将潜在的答案保留在 stackoverflow 上,而不是任何其他随机讨论论坛。

最佳答案

直接的答案是通配符的行为取决于所使用的接口(interface)的 ANSI 查询模式。

ANSI-89 查询模式(“传统模式”)使用 * 字符,ANSI-92 查询模式(“SQL Server 兼容模式”)使用 % 字符。这些模式是 ACE/Jet 特有的,与 ANSI/ISO SQL-89 和 SQL-92 标准只有一点点相似。

ADO 接口(interface) (OLE DB) 始终使用 ANSI-92 查询模式。

DAO 接口(interface)始终使用 ANSI-89 查询模式。

使用 ODBC 时,可以通过 ExtendedAnsiSQL 显式指定查询模式。标志。

从 2003 版本开始,MS Access 用户界面可以使用任一查询模式,因此在任何给定时间都不要假设它是其中一种(例如,不要在验证中使用特定于查询模式的通配符)规则)。

ACE/Jet SQL 语法有一个 ALIKE 关键字,它允许使用 ANSI-92 查询模式字符(%_),无论然而,该接口(interface)的查询模式有一个轻微的缺点,即 ALIKE 关键字不兼容 SQL-92(但是 ALIKE 仍然具有高度可移植性)。然而,主要的缺点是我知道 ALIKE 关键字不受官方支持(尽管我无法想象它会很快消失或改变行为)。

关于sql - Microsoft Jet 通配符 : asterisk or percentage sign?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/719115/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com