Ich versuche, Datensätze zu finden, die eine Zeichenfolge aus 6 oder mehr alphanumerischen Zeichen in Großbuchstaben enthalten. Einige Beispiele:Wie führe ich eine Groß- und Kleinschreibung mit LIKE durch?
PENDING 3RDPARTY CODE27
Ich verwende die folgende Anweisung:
SELECT Details
FROM MyTable
WHERE Details LIKE '%[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]%';
Dies wird alle Datensätze zurückkehrt, die ein beliebiges 6-oder-mehr-Buchstaben-Wort, und zwar unabhängig von Fall.
Ich habe eine COLLATE
Erklärung hinzugefügt:
SELECT Details
FROM MyTable
WHERE Details COLLATE Latin1_General_CS_AS LIKE '%[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]%';
Dies ändert sich nichts. Es gibt immer noch Datensätze mit einem Wort aus 6 oder mehr Buchstaben zurück, unabhängig von der Groß-/Kleinschreibung.
Nur als Test habe ich versucht:
SELECT Details
FROM MyTable
WHERE Details COLLATE Latin1_General_CS_AS LIKE '%pending%';
SELECT Details
FROM MyTable
WHERE Details COLLATE Latin1_General_CS_AS LIKE '%PENDING%';
beide gearbeitet, Rückkehr Aufzeichnungen "pending" und "PENDING" jeweils enthalten. So scheint das Problem von LIKE
Claus Mustervergleich.
Was kann ich tun, um diese Suche nach Groß-/Kleinschreibung durchzuführen?
versuchen Sie mit COLLATE Latin1_General_BIN –
Perfekt! Willst du das beantworten? –
Warum? Um ein paar Punkte zu bekommen. Ich mag einfach die Befriedigung zu wissen, dass ich geholfen habe. –