Страница 1 из 1

ФИО в одном поле через пробелы - разнести по отдельнымполям

Добавлено: 05 апр 2005, 12:22
Читатель
Ни у кого нет готового решения?
Фамилия Имя Отчество - поле varchar, идут через пробелы
надо разнести по отдельным полям Имя, Фамилия, Отчество
и оставить первое поле?

Добавлено: 05 апр 2005, 13:07
Absurd
А что за СУБД?

Добавлено: 05 апр 2005, 14:00
Читатель
MS SQL Server 2000

Добавлено: 05 апр 2005, 15:08
Yurich
Должно быть что-то типа этого... Синтаксис не проверял, но идея должна быть понятна.

Код: Выделить всё

select 
 substring(FIO,0,charindex(' ',FIO,0)) as F,
 substring(FIO,charindex(' ',FIO,0)+1,charindex(' ',FIO,charindex(' ',FIO,0)+1)-charindex(' ',FIO,0)) as I,
 substring(FIO,charindex(' ',FIO,charindex(' ',FIO,0)+1)+1, len(FIO)-charindex(' ',FIO,charindex(' ',FIO,0)+1)) as O
from YourTable
Да, ну и не учитывается возможность наличия пробелов в начале и в конце поля FIO. Кроме того, принимается что данные в строке разделены только одним пробелом.

Соответствующий UPDATE думаю ты и сам напишешь.

Добавлено: 05 апр 2005, 15:14
Читатель
спасибо