使用Excel作为数据库时,我无法进行区分大小写的搜索。 例如,如果Col1包含这样的数据
Data
DATA
DATa
daTA
我执行类似
的查询Select *
from [Sheet1$]
where Col1 = 'Data'
它将检索所有四条记录。
即使使用Like语句也不起作用。
如果我给Select * from [Sheet1$] where Col1 like 'Data%'
仍然检索所有四个记录。
COLLATE Latin1_General_CS_AS选项仅适用于SQL Server,不适用于Excel。谁能告诉我怎么做?
我不需要UCASE / UPPER / LCASE / LOWER功能,因为我的大部分数据都是大小写混合,类似于我上面给出的例子。
是否可以创建查询以大小写敏感的方式检索数据,例如在查询数据时检索数据或数据或daTA记录?
请注意 我使用Excel 2007 .xlsx作为数据库,使用Microsoft.ACE.OLEDB.12.0作为提供程序。
答案 0 :(得分:0)
尝试使用COLLATION(不确定它是否适用于Excel)
Select *
from [Sheet1$]
where Col1 = 'Data'
COLLATE SQL_Latin1_General_CP1_CS_AS // CS = Case Sensitive
或
Select *
from [Sheet1$]
where Col1 = 'Data'
COLLATE SQL_Latin1_General_CP1_CI_AS // CI = Case Insensitive
有关here的信息,请参阅Windows Collations。