关于在Microsoft SQL Server中使Like关键字充当区分大小写的任何输入。Microsoft SQL Server Like关键字
例如:名称Like'David'取得所有名字David或david或daVid等 我的目标是只取得David.I有兴趣了解来自专家的不同方式。
关于在Microsoft SQL Server中使Like关键字充当区分大小写的任何输入。Microsoft SQL Server Like关键字
例如:名称Like'David'取得所有名字David或david或daVid等 我的目标是只取得David.I有兴趣了解来自专家的不同方式。
这取决于您使用的数据库。例如,如果您为表或数据库选择不区分大小写的排序规则,则区分大小写,否则区分大小写。
您需要使用排序规则。
SELECT * FROM myTable
WHERE LastName COLLATE Latin1_General_CS_AS = 'smyTH'
@karthikgorijavolu - 要通过一个子字符串来完成,你可以添加下面的WHERE子句替换为: WHERE SUBSTRING(LastName,1,5)COLLATE Latin1_General_CS_AS ='smyTH' – 2012-04-14 00:06:49
LIKE
in PostgreSQL是大小写敏感而ILIKE
是不区分大小写的。所以这会随着你使用的DBMS而变化。
下面是一个例子使用Darren Davis
的回答
declare @tmp table (LastName nvarchar(10))
insert @tmp
select ('Gorijavolu')
select LastName As 'CorrectCase' from @tmp WHERE SUBSTRING(LastName,1,4) COLLATE Latin1_General_CS_AS = 'Gori'
select LastName AS 'WrongCase' from @tmp WHERE SUBSTRING(LastName,1,4) COLLATE Latin1_General_CS_AS = 'gori'
给出:
CorrectCase
-----------
Gorijavolu
(1 row(s) affected)
WrongCase
----------
(0 row(s) affected)
如何被存储的数据?哪个DBMS? – Anonymous 2012-04-13 11:45:07
SQL SERVER 2008 R2 – 2012-04-13 11:46:30
您是否尝试过使用SQL Colation解决方案? – 2012-04-13 11:53:03