Выберите строку перед символом - PullRequest
2 голосов
/ 07 июня 2019

У меня есть поле, которое может или не может быть добавлено с подчеркиванием и числом. Я хотел бы выбрать часть строки перед _, но _ не всегда присутствует

В другом вопросе я нашел это:

SUBSTRING([LineNumber], 0, CHARINDEX('_', [LineNumber]))

Он хорошо работает для MH31014329_1, который затем превращается в MH31014329, но там, где нет _1, он выдает пробел

Оператор case для проверки на = '' работает, но этот набор записей> 100k строк, и я не думаю, что он эффективен.

Как я могу сделать это наиболее эффективным способом?

1 Ответ

3 голосов
/ 07 июня 2019

Добавьте «FAIL-SAFE» к charindex() Это не принесет вреда, если оно уже существует.

SUBSTRING([LineNumber], 0, CHARINDEX('_', [LineNumber]+'_'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...