Список форумов BOSSForum.RU - Форум. БОСС-Кадровик
Независимый форум, посвященный системе БОСС-Кадровик
и всему, что с ней связано
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Нужна функция!

 
Начать новую тему   Ответить на тему    Список форумов BOSSForum.RU - Форум. БОСС-Кадровик -> X-язык
Предыдущая тема :: Следующая тема  
Автор Сообщение
GIN



Зарегистрирован: 04.03.2010
Сообщения: 112

СообщениеДобавлено: Ср Авг 11, 2010 12:40    Заголовок сообщения: Нужна функция! Ответить с цитатой

Народ подскажите, нужна функция которая работает с текстом, так же как и Substring, но только не побуквенно, а через пробел. Есть она такая?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Dimich1978



Зарегистрирован: 18.05.2010
Сообщения: 69

СообщениеДобавлено: Чт Авг 12, 2010 10:20    Заголовок сообщения: Ответить с цитатой

что понимаете под выражением "через пробел"?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Dimich1978



Зарегистрирован: 18.05.2010
Сообщения: 69

СообщениеДобавлено: Чт Авг 12, 2010 10:21    Заголовок сообщения: Ответить с цитатой

Да и описать что пытаетесь сделать было бы неплохо. Substring используется в разных "вариациях"
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
GIN



Зарегистрирован: 04.03.2010
Сообщения: 112

СообщениеДобавлено: Чт Авг 12, 2010 10:38    Заголовок сообщения: Ответить с цитатой

решение найдено, спасибо за отзыв) но интересно узнать у кого какие варианты. Rolling Eyes

Например ячейка "Иванов Иван Иванович", а пробел или другой знак это не важно.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Dimich1978



Зарегистрирован: 18.05.2010
Сообщения: 69

СообщениеДобавлено: Чт Авг 12, 2010 11:08    Заголовок сообщения: Ответить с цитатой

в результате что должно быть? в разные колонки чтобы распихалось и стало
F I O
Иванов Иван иванович
Так?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
GIN



Зарегистрирован: 04.03.2010
Сообщения: 112

СообщениеДобавлено: Чт Авг 12, 2010 11:09    Заголовок сообщения: Ответить с цитатой

Да что бы были отдельные F, I, O.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Nemoxur



Зарегистрирован: 30.04.2010
Сообщения: 49

СообщениеДобавлено: Ср Авг 18, 2010 12:30    Заголовок сообщения: Ответить с цитатой

Например можно написать так с учётом того что могут отсутствовать как имя так и фамилия и отчество Very Happy

Код:
,SUBSTRING((CASE WHEN patindex('% %',LTRIM(RTRIM(str3))) = 0 THEN '' ELSE
UPPER(SUBSTRING(str3,1,1))END)+ LOWER(SUBSTRING(str3,2,(CASE WHEN patindex('% %',str3) = 0 THEN 0 ELSE patindex('% %',str3)-1 END))),1,40)

,(CASE WHEN patindex('% %',str3) = 0 THEN UPPER(SUBSTRING(LTRIM(LOWER(SUBSTRING(STUFF(str3,1,patindex('% %',str3),''),patindex('% %',STUFF(str3,1,patindex('% %',str3),'')),200))),1,1))+
SUBSTRING(LTRIM(LOWER(SUBSTRING(STUFF(str3,1,patindex('% %',str3),''),patindex('% %',STUFF(str3,1,patindex('% %',str3),'')),200))),2,40)
ELSE
SUBSTRING(SUBSTRING(LTRIM(UPPER(SUBSTRING(STUFF(str3,1,patindex('% %',str3),''),1,patindex('% %',STUFF(str3,1,patindex('% %',str3),''))))),1,1)+
SUBSTRING(LOWER(LTRIM(SUBSTRING(STUFF(str3,1,patindex('% %',str3),''),1,patindex('% %',STUFF(str3,1,patindex('% %',str3),''))))),2,40),1,40) END)

,(CASE WHEN patindex('% %',str3) = 0 THEN '' ELSE
SUBSTRING(UPPER(SUBSTRING(LTRIM(LOWER(SUBSTRING(STUFF(str3,1,patindex('% %',str3),''),patindex('% %',STUFF(str3,1,patindex('% %',str3),'')),40))),1,1))+
SUBSTRING(LTRIM(LOWER(SUBSTRING(STUFF(str3,1,patindex('% %',str3),''),patindex('% %',STUFF(str3,1,patindex('% %',str3),'')),200))),2,40) ,1,40)END)


Код не претендует на лучший, думаю что можно написать намного изящнее и качаственее Very Happy
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
GIN



Зарегистрирован: 04.03.2010
Сообщения: 112

СообщениеДобавлено: Ср Сен 15, 2010 05:17    Заголовок сообщения: Ответить с цитатой

Вообщем-то так и сделал. Smile

Только попроще конечно, но тоже через SUBSTRING с использованием CHARINDEX и LEN, не учитывая, что нет каких-то данных (сомнительно что такое может быть) и отчество может быть двойным. Very Happy
Выкладывать код не стоит - Вашего вполне достаточно для тех кто столкнется с этой задачей.

Спасибо за ответ.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов BOSSForum.RU - Форум. БОСС-Кадровик -> X-язык Часовой пояс: GMT + 4
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Pоwerеd by рhpВB © 2001, 2005 рhpВB Grouр
Русская поддержка phрВB
Rambler's Top100 Рейтинг@Mail.ru Список форумов BOSSForum.RU