Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
hohot Member Откуда: Сообщений: 6 |
MSSQL 2012. Друзья, снова понадобилась ваша помощь. Есть строка вида: CN=AD.Tel,OU=TEST,OU=GROUPS,DC=office,DC=domain,DC=ru Задача следующая: нужно в отчете в строке вывести только то что находится между символами 'CN=' и первой запятой. Подскажите, пожалуйста, хотя бы какие функции точно потребуются для решения задачи, ну в идеале бы кусочек кода. Заранее премного благодарен! |
14 фев 13, 11:22 [13924804] Ответить | Цитировать Сообщить модератору |
Knyazev Alexey Member Откуда: Екб -> Мск Сообщений: 10234 Блог |
substring/patindex/stuff |
14 фев 13, 11:23 [13924812] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 47047 |
DECLARE @S VARCHAR(100)='CN=AD.Tel,OU=TEST,OU=GROUPS,DC=office,DC=domain,DC=ru'; SELECT SUBSTRING(@S,CHARINDEX('CN=',@S)+3,CHARINDEX(',',@S,CHARINDEX('CN=',@S))-CHARINDEX('CN=',@S)-3); |
14 фев 13, 13:46 [13926060] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 47047 |
DECLARE @S VARCHAR(100)='CN=AD.Tel,OU=TEST,OU=GROUPS,DC=office,DC=domain,DC=ru'; SELECT SUBSTRING(@S,NULLIF(CHARINDEX('CN=',@S),0)+3,CHARINDEX(',',@S,CHARINDEX('CN=',@S))-CHARINDEX('CN=',@S)-3); |
||
14 фев 13, 13:51 [13926100] Ответить | Цитировать Сообщить модератору |
Гость333 Member Откуда: Сообщений: 3683 |
iap, А если нет запятой после "CN=" ? Тогда так: DECLARE @S VARCHAR(100)='CN=AD.Tel'; SELECT SUBSTRING(@S,NULLIF(CHARINDEX('CN=',@S),0)+3,NULLIF(CHARINDEX(',',@S,CHARINDEX('CN=',@S)),0)-CHARINDEX('CN=',@S)-3); |
14 фев 13, 13:58 [13926144] Ответить | Цитировать Сообщить модератору |
hohot Member Откуда: Сообщений: 6 |
Супер, самое то! Огромное всем (и вам, iap, особое) спасибо! |
||
14 фев 13, 14:34 [13926444] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |