почему студия управления SQL-сервером рассматривает SS как Umlaut-S (ß)? - PullRequest
0 голосов
/ 12 февраля 2019

Когда я запускаю следующий запрос:

select charindex('ß','COMMISSIONING')

, он возвращает 6.

Я специально выбрал ß для функции, так как думал, что она вряд ли появится в любых моих данных,Это работало отлично в течение нескольких недель, но теперь внезапно он обнаружил, где нет, и, следовательно, испортил мою функцию.

Кто-нибудь, пожалуйста, скажите мне, чем это вызвано?

Я использую SQL-сервер 2016

1 Ответ

0 голосов
/ 12 февраля 2019

Потому что, как обсуждалось в комментариях, SS - это "прописные буквы" ß.Если вы не хотите, чтобы символы совпадали, вам нужно, чтобы ваше сопоставление было чувствительным к регистру.Ниже приведено значение, возвращаемое для обоих выражений CHARINDEX: 0:

SELECT C, charindex('ß',V.C)
FROM (VALUES('COMMISSIONING' COLLATE Latin1_General_CS_AS)) V(C);

SELECT C, charindex('ß',V.C)
FROM (VALUES('COMMISSIONING' COLLATE Latin1_General_CS_AI)) V(C);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...