powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / перенос текстового файла в IB
13 сообщений из 13, страница 1 из 1
перенос текстового файла в IB
    #32331518
vovik_t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мастера! Помогите. только начинаю изучать SQL.
Проблема в следующем: необходимо запихнуть текстовый файл в базу.
Создаю временную таблицу связанную с файлом EXTERNAL FILE "c:\....
Потом из нее копирую в нужную мне базу INSERT INTO .... .
Но проблема в том что нужно внести и поле типа DATE, cast() не срабатывает по той причине, что числа идут без разделителей
файл вида
7422741 27155440 031026 00000010
7420602 21218011 031025 23140480
7422533 3712643883 031026 00040020
7428051 371108772903102600090010
как быть?
...
Рейтинг: 0 / 0
перенос текстового файла в IB
    #32331543
Могун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно чуть внятнее?
...
Рейтинг: 0 / 0
перенос текстового файла в IB
    #32331557
vovik_t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
необходимо как то преобразовать 031026 в 26 октября 2003 года или 26/10/03
...
Рейтинг: 0 / 0
перенос текстового файла в IB
    #32331564
Фотография Dnico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотри стандартную UDF, там есть функции работы со строками. Формируй из 031026 строку 26/10/03. И все получится.

Best regards,
Dnico.
...
Рейтинг: 0 / 0
перенос текстового файла в IB
    #32331565
Могун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А по каким признакам вы выделяете даты из строк?
...
Рейтинг: 0 / 0
перенос текстового файла в IB
    #32331567
Могун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И на чем пишите? (Delphi, C)
...
Рейтинг: 0 / 0
перенос текстового файла в IB
    #32331575
vovik_t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Честно говоря я имею довольно смутное представление о том, что такое UDF и где его смотреть, если можно чуть чуть поподробнее.
А на счет того как я определяю порядок даты, то я этого и не делаю, я просто создаю временную таблицу с нужными мне полями и их длинной char(6) и он строчит все подряд в нужном мне порядке
...
Рейтинг: 0 / 0
перенос текстового файла в IB
    #32331579
Могун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И всё равно (лично мне) не понятно, попытайтесь сформулировать по-другому
...
Рейтинг: 0 / 0
перенос текстового файла в IB
    #32331585
vovik_t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пишу на дельфи и впринципе это удавалось добалением в нужныж местах / и последующего преобразования из string в date но обработка занимает слишеом много времени поэтому решил поробовать сделать это на SQL может поможет? Хотя честно говоря до понедельника я занал о нем ничего.
Учусь я только
...
Рейтинг: 0 / 0
перенос текстового файла в IB
    #32331612
vovik_t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Короче говоря суть вопроса в том как в таблицу типа
CREATE TABLE Peregov (
ATC CHAR(2),
TELA CHAR(5),
KODG CHAR(13),
TELB CHAR(5),
DATA TIMESTAMP,
VREM CHAR(4),
PROD CHAR(4),
)

Запичнуть содержимое файла с такой структурой
7422741 2715544003102600000010
7420602 2121801103102523140480
Где 74 - ATC
22741 - tela
271 - kodg
55440- telb
031026 - DATA
0000- vrem
0010 - prod
...
Рейтинг: 0 / 0
перенос текстового файла в IB
    #32331623
Могун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А почему нельзя сделать так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
CREATE TABLE Peregov ( 
ATC CHAR( 2 ), 
TELA CHAR( 5 ), 
KODG CHAR( 13 ), 
TELB CHAR( 5 ), 
DATA CHAR( 6 ), 
VREM CHAR( 4 ), 
PROD CHAR( 4 ), 
) 
...
Рейтинг: 0 / 0
перенос текстового файла в IB
    #32331646
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если строка строго определённой длины, то смотри функцию SUBSTRING.
Например:

INSERT INTO CREATE TABLE Peregov (ATC,TELA,KODG,TELB,DATA,VREM,PROD)
VALUES(SUBSTRING(:VAL FROM 1 FOR 2),SUBSTRING(:VAL FROM 3 FOR 6),...);

Для даты будет SUBSTRING(:VAL ...)||'.'||SUBSTRING(:VAL ...)||'.'||SUBSTRING(:VAL ...)
...
Рейтинг: 0 / 0
перенос текстового файла в IB
    #32331672
Фотография KiLLun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сервер???
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / перенос текстового файла в IB
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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