2012-04-13 12 views
4

Alle Eingaben beim Erstellen Like-Schlüsselwort in Microsoft SQL Server gelten als Groß- und Kleinschreibung.Microsoft SQL Server Wie Schlüsselwort

Zum Beispiel: Name Wie 'David' bekommt alle Namen David oder David oder daVid etc. Mein Ziel ist es, nur David zu bekommen. Ich bin daran interessiert, verschiedene Wege von den Experten zu wissen.

+3

Wie werden die Daten gespeichert werden? Welches DBMS? – Anonymous

+0

SQL SERVER 2008 R2 –

+0

Haben Sie versucht, meine Lösung mit SQL-Kollatierung? –

Antwort

1

Dies hängt davon ab, welche Datenbank Sie verwenden. Beispielsweise vergleicht MySQL die Groß-/Kleinschreibung nicht, wenn Sie eine Groß-/Kleinschreibung für die Tabelle oder die Datenbank auswählen und Groß-/Kleinschreibung nicht beachten.

4

Sie müssen Sortierung verwenden.

SELECT * FROM myTable 
WHERE LastName COLLATE Latin1_General_CS_AS = 'smyTH' 
+0

@karthikgorijavolu - Um es über einen Teilstring zu tun, können Sie die folgende WHERE-Klausel durch folgende ersetzen: WHERE SUBSTRING (LastName, 1,5) COLLATE Latin1_General_CS_AS = 'smyTH' –

1

LIKEin PostgreSQL ist case-sensitive, während ILIKE Groß- und Kleinschreibung ist. Das hängt davon ab, welches DBMS Sie verwenden.

2

Hier ist ein Beispiel unter Verwendung von Darren Davis s Antwort

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' 

Gibt:

CorrectCase 
----------- 
Gorijavolu 
(1 row(s) affected) 

WrongCase 
---------- 

(0 row(s) affected) 
Verwandte Themen