Как выполнить поиск с учетом регистра с помощью LIKE?

m пытается найти записи, которые содержат строку из 6 или более буквенно-цифровых символов в верхнем регистре. Некоторые примеры: я

PENDING  3RDPARTY  CODE27

используя следующее утверждение:

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]%';

Это возвращает все записи, которые содержат любое слово из 6 или более букв, независимо от регистра.

мы добавилиCOLLATE заявление:

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]%';

Это ничего не меняет. Он по-прежнему возвращает записи со словом, состоящим из 6 или более букв, независимо от регистра.

В качестве теста я попробовал:

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%';

Оба они работали, возвращая записи, содержащие "в ожидании» а также "ОЖИДАНИЕ» соответственно. Таким образом, проблема, кажется,LIKE Клауссопоставление с образцом.

Что я могу сделать, чтобы выполнить поиск с учетом регистра?

Ответы на вопрос(3)

Ваш ответ на вопрос