MS Access 中区分大小写的搜索

Posted

技术标签:

【中文标题】MS Access 中区分大小写的搜索【英文标题】:Case sensitive searching in MS Access 【发布时间】:2015-10-22 09:26:39 【问题描述】:

我有一个查询,它在数据库中的行中搜索匹配的字符串。示例行可能是:

This is a row which contains a String

我当前运行的查询在语法上与

相同
SELECT table.column FROM table WHERE table.column LIKE "*String*"

尽管它返回找到文本“字符串”的每一行,无论大小写。

MS Access 2010 是否有任何类型的区分大小写的字符串比较器,我应该使用它来代替它?

【问题讨论】:

老把戏 WHERE lower(table.column) LIKE lower("String") 可能会奏效。 查询需要匹配我正在搜索的大小写词,例如如果我搜索“总计”,则不应返回包含“总计”的行 有时我阅读和评论太快,同时做其他事情......对不起。 没关系,我必须承认我这样做也是有罪的! 【参考方案1】:

恐怕您将不得不求助于 VBA 方法。幸运的是,可以在 JET SQL 中使用 VBA 方法(尽管性能可能不是最好的)。 VBA Instr 方法允许您指定比较模式(0 = 二进制 = 区分大小写):

SELECT table.column FROM table WHERE INSTR(table.column, "String", 0) > 0

【讨论】:

【参考方案2】:

我认为LIKE '*String*' 不是 LIKE "*String*"

查看更多LIKE condition in MS Access

【讨论】:

【参考方案3】:

你可以使用Instr:

SELECT t.FieldName
FROM Table t
WHERE ((InStr(1,[FieldName],"aB",0)>"0"));

【讨论】:

以上是关于MS Access 中区分大小写的搜索的主要内容,如果未能解决你的问题,请参考以下文章

java中区分大小写吗???

.emacs 中区分大小写的 setq 无效

导航栏在 Visual Studio 2017 中区分大小写

VBA代码在MS Access中不区分大小写的过滤器

Spark 中区分大小写的连接

perl 脚本来搜索 java 源代码中区分大小写的文件名