Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 разделить ФИО  [new]
bananazury
Member

Откуда:
Сообщений: 76
Добрый день!
Есть таблица в виде:
FIO
Захарова Анастассия ---
Дудник Е В Е В
Красенков Андрій Юрійович
Синюта Д Р ---
Лелюк Ю В Полтава
Иванченко О Ххх Ххх
Тарновский О.Ф

это все в одном поле. необходимо разбить на три поля ( фамилия, имя, отчетсво). Кто может что предложить интересного? т.к. структура оч разная. пробовал как то так:
,[s_name1]= substring(FIO,1,CHARINDEX(' ',s_name))
,[f_name1]= substring(replace(FIO,substring(FIO,1,CHARINDEX(' ',FIO)),''),1,CHARINDEX(' ',replace(FIO,substring(FIO,1,CHARINDEX(' ',FIO)),'')))
,[l_name1]= reverse(substring(reverse(rtrim(FIO)),1,CHARINDEX(' ',reverse(rtrim(FIO)))))
11 май 15, 22:10    [17626517]     Ответить | Цитировать Сообщить модератору
 Re: разделить ФИО  [new]
Кот Матроскин
Member

Откуда: Москва
Сообщений: 8933
Волшебной кнопки "расчистить весь мусор" в севере нет.
Попробуйте диагностировать все классы случаев ("После фамилии и пробела идет буква и пробел", "после фамилии и пробела идет буква и точка", "после фамилии и пробела идет несколько символов подряд" и т.п. ) и обрабатывайте их по отдельности.
12 май 15, 08:49    [17627077]     Ответить | Цитировать Сообщить модератору
 Re: разделить ФИО  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8826
bananazury, Вы пытаетесь макросредствами решить микрозадачу. Используйте подходящие инструменты для разбора строки, например, модный С#.
12 май 15, 17:41    [17630233]     Ответить | Цитировать Сообщить модератору
 Re: разделить ФИО  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4901
Владислав Колосов
bananazury, Вы пытаетесь макросредствами решить микрозадачу. Используйте подходящие инструменты для разбора строки, например, модный С#.


Можно для начала пропустить это через Script Component под SSIS, где поразвлекаться регулярными выражениями.
12 май 15, 18:56    [17630572]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить