从wildcard characters supported by Microsoft Access起,我无法在SQL语句中使用#
。一个最小的示例:
SELECT COUNT(*) FROM MSysObjects WHERE "123" LIKE "#*"
return value for "#*": 0
return value for "*": 56
仅在VBA立即窗口中有效(我知道那里的评估实际上是不同的,但是无论如何):
? "123" LIKE "#*"
True
所有其他图案字符似乎都可以正常工作。但是,由于上面的链接页面声明#
在SQL语句中可用,因此这是一个错误吗?还是我误读了文档?
版本信息显示:Version 1905 (Build 11629.20246 Click-to-Run)
设置SQL Server Compatible Syntax (ANSI 92)
已关闭。 (在选项>对象设计器中。)
更新:注释器says可以在Access 2010中按预期方式工作。在Access 2007和Access Pro 365 Business 1906 11906.20230中,在Pro 2007和Pro Pro works中也可以按and。
我尝试将归类更改为常规(选项>常规>新数据库排序顺序),然后创建一个新数据库,但是问题仍然存在。
在Access中,数字符号(#)是存储为字符串的日期的分隔符。
您需要通过将特殊字符包装在方括号中来“转义”特殊字符,如下所示: