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

Откуда:
Сообщений: 25
необходимо создать ХП, которая на основе текстовой строки, содержащей фамилию, имя и отчество, формирует текстовую строку, содержащую фамилию и инициалы, и при этом все строчные буквы должны быть заменены прописными. Эта функция должна иметь один входной параметр (@fio).

Придумал решить таким способом...

ALTER procedure fio
(@fio varchar(50),@f varchar(50),@posit int,@posit1 int,@posit2 int,@posit3 int,@io varchar(50),@o varchar(50),@i varchar(50))
AS
BEGIN
SET @fio = LTRIM(@fio) //удаление пробелов в начале строки

SET @posit = PATINDEX (' ',@fio) //поиск пробела в строке
SET @io = SUBSTRING(@fio,@posit+1,LEN(@fio)) //подстрока содержащая имя и отчество
SET @io = LTRIM(@io) //удаление пробелов

SET @posit1 = PATINDEX (' ',@io)
SET @o = SUBSTRING(@io,@posit1+1,LEN(@io))
SET @o = LTRIM(@o)

SET @f = SUBSTRING(@fio,1,@posit2-1)

SET @i = SUBSTRING(@io,1,@posit3-1)

SELECT LEFT(@f,1) + '.' + LEFT(@i,1) + '.' + LEFT(@i,1) + '.' AS [Фамилия Инициалы]
END
Вызываю
DECLARE @fio varchar(50),@f varchar(50),@posit int,@posit1 int,@posit2 int,@posit3 int,@io varchar(50),@o varchar(50),@i varchar(50)
SET @fio = 'Иванов Иван Иванович'
EXEC fio @fio,@f,@posit,@io,@o,@i,@posit1,@posit2,@posit3

а в итоге NULL. Присваиваю же строковой переменной значение, а она все равно NULL.
не понятненько?
помогите кто чем сможет. Заранее спасибо.
4 май 11, 12:58    [10603212]     Ответить | Цитировать Сообщить модератору
 Re: из стоки содерж. "фамилию имя отчество" получить "фамилию и инициалы"  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Баян?Кто лучше? (Фамилия Имя Отчество - > Фамилия И. О. )
4 май 11, 13:42    [10603610]     Ответить | Цитировать Сообщить модератору
 Re: из стоки содерж. "фамилию имя отчество" получить "фамилию и инициалы"  [new]
igorr66
Member

Откуда:
Сообщений: 25
спсб, попробуем!
4 май 11, 15:10    [10604297]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить