T sql: LOWERCASE с использованием IN - PullRequest
0 голосов
/ 13 февраля 2020

У меня есть вопрос, касающийся нижней функции.

,case when lower(replace(producttitle, ‘ ‘, ‘‘)) in (‘microphone‘) then ‘YES‘ else ‘NO‘ end

Приведенный выше оператор выбирает только YES, когда значение столбца = значение в функции IN.

Я хочу получить ДА, когда значение, такое как оно записано в функции IN. Когда значение столбца равно «Микрофон», я хочу, чтобы оно было в нижнем регистре -> микрофон, и так как IN содержит «микрофон», я должен получить ДА, верно?

Когда значение столбца равно Микрофон (верхний B ) почему я не получаю это ниже? Например, в функции IN.

Пример: значение столбца: «Микрофон» Я хочу получить ДА, уменьшив значение столбца и поскольку функция IN содержит значение («микрофон»)

Спасибо

1 Ответ

0 голосов
/ 14 февраля 2020

Вам нужно изменить порядок сортировки, чтобы он стал регистром sensitive, по умолчанию это регистр insensitive:

CASE WHEN REPLACE(producttitle, ' ', '') = 'microphone' COLLATE SQL_Latin1_General_CP1_CS_AS
     THEN 'YES' ELSE 'NO' 
END
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...