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

ВОПРОС - как сделать :
Код: plaintext
Иванов|Иван|Иваныч| 01 . 01 . 1999 |A| 12345 |
...
Рейтинг: 0 / 0
22.12.2005, 11:13
    #33451216
alex11100
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разбить по столбцам
посмотри в хелпе
at
substr
...
Рейтинг: 0 / 0
22.12.2005, 11:13
    #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
23.12.2005, 11:36
    #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
23.12.2005, 13:11
    #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
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Разбить по столбцам / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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