使用Excel作为数据库时的区分大小写搜索

时间:2015-09-14 07:40:51

标签: sql excel case-sensitive

使用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作为提供程序。

1 个答案:

答案 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