powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Разбить по столбцам
5 сообщений из 5, страница 1 из 1
Разбить по столбцам
    #33451199
anton_81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть таблица на 1,3 млн. записей. Там поля
Код: plaintext
|Иванов Иван Иваныч| 01 . 01 . 1999 |A| 12345 |

ВОПРОС - как сделать :
Код: plaintext
Иванов|Иван|Иваныч| 01 . 01 . 1999 |A| 12345 |
...
Рейтинг: 0 / 0
Разбить по столбцам
    #33451216
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
посмотри в хелпе
at
substr
...
Рейтинг: 0 / 0
Разбить по столбцам
    #33451222
pijon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SELECT GETWORDNUM(FIO,1," ") as name1, GETWORDNUM(FIO,2," ") as name2, GETWORDNUM(FIO,3," ") as name3, daten, symbol, nomer FROM table1 INTO table2

Только название полей поменяй
...
Рейтинг: 0 / 0
Разбить по столбцам
    #33453932
Jose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так у тебя некоторы значения получившихся полей могут быть обрезаны
Попробуй так:

Код: plaintext
1.
SELECT (SUBSTR(name, 1 ,AT(' ',name))+SPACE( 5 )) as name1, (SUBSTR(name,AT(' ',name)+ 1 )+SPACE( 5 )) as name2;
FROM table1 INTO CURSOR table2
...
Рейтинг: 0 / 0
Разбить по столбцам
    #33454275
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В любом случае нужна промежуточная таблица с длинами Ф.И.О.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
select max(len(alltrim(substr(name, 1 ,at(' ',name)- 1 )))) as nf, ;
 max(len(alltrim(substr(name,at(' ',name)+ 1 ,at(' ',name, 2 )-at(' ',name)- 1 )))) as ni, ;
 max(len(alltrim(substr(name,at(' ',name, 2 )+ 1 )))) as no;
 from table1 into cursor c_table1

select padr(alltrim(substr(name, 1 ,at(' ',name)- 1 )),c_table1.nf) as ff, ;
 padr(alltrim(substr(name,at(' ',name)+ 1 ,at(' ',name, 2 )-at(' ',name)- 1 )),c_table1.ni) as ii, ;
 padr(alltrim(substr(name,at(' ',name, 2 )+ 1 )),c_table1.no) as oo;
 daten,symbol,nomer;
 from table1,c_table1 into table table2
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Разбить по столбцам
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]