Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> CharIndex(), PatIndex() и регулярные выражения 
:(
    Опции темы
evgenybe
Дата 12.12.2011, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 22.5.2007
Где: Израиль

Репутация: нет
Всего: 1



Можно ли использовать регулярные выражения в CharIndex()? Или для этого подходит только PatIndex()

Дело в том, что мне надо разрезать длинный стринг на несколько мелких по цифрам 1. 2. 3. и тд. 11.  12.  13.
Например:
'1. Раздел первый  2. Раздел второй 3. Вася идет на войну. 4. Вася возвращается с войны'.
Проблема в том, что нумерация может быть как однозначное число и точка, а может быть и двузначным числом с точкой.
Как составить регулярное выражение для поиска этих чисел с точками?




PM MAIL WWW   Вверх
Akina
Дата 12.12.2011, 17:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20580
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 25
Всего: 454



Цитата(evgenybe @  12.12.2011,  18:40 Найти цитируемый пост)
Можно ли использовать регулярные выражения в CharIndex()?

Нет.

Добавлено через 6 минут и 9 секунд
Цитата(evgenybe @  12.12.2011,  18:40 Найти цитируемый пост)
Проблема в том, что нумерация может быть как однозначное число и точка, а может быть и двузначным числом с точкой.

Тут и PatIndex не поможет. Рекомендую привести всё "к одному знаменателю", дополнив однозначные номера ведущим нулём.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
evgenybe
Дата 12.12.2011, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 22.5.2007
Где: Израиль

Репутация: нет
Всего: 1



Цитата(Akina @  12.12.2011,  17:55 Найти цитируемый пост)
Тут и PatIndex не поможет. Рекомендую привести всё "к одному знаменателю", дополнив однозначные номера ведущим нулём. 
--------------------



В базе данных порядка 70 тыс. записей. Так что мне все пройти вручную и дополнить нулем?
CharIndex позволяет мне продолжать разрезание стринга, отталкиваясь от уже найденной позиции.
 В Patindex (хотя он менее предпочтительный в моем случае) я использую '%[1-9].%'. В случае если число однозначное, все в порядке. 
Но если число двузначное, например 12. то оно находит позицию "2." а не 12.
PM MAIL WWW   Вверх
Akina
Дата 12.12.2011, 20:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20580
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 25
Всего: 454



Цитата(evgenybe @  12.12.2011,  20:03 Найти цитируемый пост)
 Так что мне все пройти вручную и дополнить нулем?

Вот ещё! одним запросом на обновление... не, если есть на до время и желание, то ради бога...



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
evgenybe
  Дата 13.12.2011, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 22.5.2007
Где: Израиль

Репутация: нет
Всего: 1



Цитата(Akina @  12.12.2011,  20:13 Найти цитируемый пост)
Вот ещё! одним запросом на обновление... не, если есть на до время и желание, то ради бога... 

Но пользователь не согласен с нумерацией 01, 02, ...
Так что, потом другим запросом все исправлять обратно?  smile 
PM MAIL WWW   Вверх
Akina
Дата 13.12.2011, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20580
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 25
Всего: 454



evgenybe, озвучьте задачу... а не свои попытки выполнить один из её этапов... может, что более умное придумаем.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS SQL"
Akina

Akina

Запрещается!

Публиковать ссылки и обсуждать взлом чего бы то ни было.

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы составления неспецифических запросов рассматриваются здесь
  • Используйте теги [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS SQL Server | Следующая тема »


 




[ Время генерации скрипта: 0.0761 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.