關於在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