Как найти первое вхождение одного из символов последовательности в T-SQL - PullRequest
3 голосов
/ 09 февраля 2012

Я хотел бы написать простой запрос, чтобы найти первое вхождение ',' или ';' в строке в T-SQL. Есть ли простой способ сделать это?

В других базах данных я бы использовал регулярные выражения, такие как [,;], но они не доступны в T-SQL.

Единственное решение, которое я могу придумать, - это иметь длинный список вложенных операторов if ... else, но это не подходит.

Ответы [ 2 ]

7 голосов
/ 09 февраля 2012

Попробуйте PATINDEX ...

select patindex('%,%', my_column)
from my_table
0 голосов
/ 09 февраля 2012

Я совершенно не осведомлен о T-SQL, но, глядя на документацию Microsoft, кажется, что CHARINDEX найдет первое вхождение одного символа (или фактически любой строки), и вы можете просто вызвать его дважды (один раздля , и один раз для ;) и посмотрите, какой из них появляется первым.См .: http://msdn.microsoft.com/en-US/library/ms186323%28v=sql.90%29.aspx.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...