Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.11.2011, 11:09   #1
Neymexa
Proffesional
Форумчанин
 
Аватар для Neymexa
 
Регистрация: 18.11.2008
Сообщений: 417
По умолчанию разбитие ФИО на 3 поля

есть запись типа
Иванов Иван Иванович в 1 поле
я разбиваю на 3 поля но с условием что между ними по 1 пробелу

вот так

Код:
select manager,substring(manager,1,charindex(' ',manager)-1),
substring(manager,charindex(' ',manager)+1,charindex(' ',substring(manager,charindex(' ',manager)+1,len(manager)))),
substring(substring(manager,charindex(' ',manager)+1,len(manager)),charindex(' ',substring(manager,charindex(' ',manager)+1,len(manager)))+1,len(manager)),
Tel from Table_t
вопрос-как сделать разбиение если между словами будет по 2 или 3 пробела?
О, степь родимая, как я скучаю по тебе...
Neymexa вне форума Ответить с цитированием
Старый 23.11.2011, 11:20   #2
Neymexa
Proffesional
Форумчанин
 
Аватар для Neymexa
 
Регистрация: 18.11.2008
Сообщений: 417
По умолчанию

уже решил.
кому нужно

Код:
update _urLic  set  manager = replace(manager,'   ',' ')
update _urLic  set  manager = replace(manager,'  ',' ')
О, степь родимая, как я скучаю по тебе...
Neymexa вне форума Ответить с цитированием
Старый 23.11.2011, 11:32   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

1) можно заменить три пробела на один, два пробела на один, (вложить друг в друга). и результат уже использовать так, как Вы используете

2) а можно написать функцию (ХП), которая будет разделять переданную строку.
И в ней уже изгаляться как угодно..

3) а вообще-то, подобные вопросы возникают тогда, когда неправильно организованы исходные структуры. Фамилия, имя и отчество должны храниться в ОТДЕЛЬНЫХ полях...
Вот, подумайте, что возвращать, если в поле ФИО ввели всего одно СЛОВО?

или когда там Петров А.В.

или когда там
Алиев Танырверди Джахан оглы
Абдыев Ашраф Гурбан оглы
Мамедов Эйнулла Шабан оглы
Гасымова Эйнулла Аллахверди Аглы
Клокова Сабира Султанбек Кызы
...


UPDATE
Цитата:
уже решил.
уп-с... опоздал я с ответом..
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
GLScene, разбитие на модули Андрей 93 Gamedev - cоздание игр: Unity, OpenGL, DirectX 2 27.09.2011 13:22
Склонения ФИО maximyn Microsoft Office Word 2 22.06.2011 13:27
Delphi7. Разбитие строки на подстроки Pecho Помощь студентам 3 12.12.2010 21:19
Количество слов в рядке. Разбитие по по пять символов. Fatummors Общие вопросы C/C++ 8 07.03.2010 16:39
Strings.DelimitedText разбитие edik Общие вопросы Delphi 7 28.12.2009 13:39