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 中区分大小写的搜索的主要内容,如果未能解决你的问题,请参考以下文章