Лучший способ произвести автоматический экспорт в формате с разделителями табуляции из Teradata? - PullRequest
1 голос
/ 18 марта 2010

Я хотел бы иметь возможность создать файл, выполнив команду или пакет, который в основном экспортирует таблицу или представление (SELECT * FROM tbl), в текстовой форме (по умолчанию преобразования в текст для дат, чисел и т. Д. Подойдут) , разделенный табуляцией, с NULL, преобразованными в пустое поле (т. е. в столбце NULL не должно быть пробела между символами табуляции, с соответствующим завершением строки (CRLF или Windows), предпочтительно также с заголовками столбцов.

Это тот же экспорт, который я могу получить в SQL Assistant 12.0, но выбрав опцию экспорта, используя разделитель табуляции, установив для моего значения NULL значение '' и включая заголовки столбцов.

Мне не удалось найти правильную комбинацию опций - самая близкая из них, которую я получил, - это построение одного столбца с CAST и '09'XC, но в строках по-прежнему есть ведущий 2-байтовый индикатор длины в большинстве настроек. пытался. Я бы предпочел не создавать большие строки для различных таблиц.

1 Ответ

2 голосов
/ 18 марта 2010

Чтобы исключить 2-байт в выводе FastExport:

.EXPORT OUTFILE &dwoutfile MODE RECORD FORMAT TEXT;

И ваш SELECT должен создать поле экспорта фиксированной длины, например, СИМ (п) . Таким образом, вы увеличите размер файла и получите файл экспорта с разделителями, но с фиксированной длиной.

Другой вариант: если вы находитесь в среде UNIX / Linux, вы можете выполнить пост-обработку файла и удалить первые два байта или записать ASXMOD в C, чтобы сделать это, когда записи передаются в файл.

...