Как очистить результат SELECTа от пробелов

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
AFZ
Сообщения: 5
Зарегистрирован: 13 июл 2012, 11:15

Как очистить результат SELECTа от пробелов

Сообщение AFZ » 13 июл 2012, 11:57

FireBird 2.1
Как убрать пробелы из результата?
TRIM, присутствующий в запросе, просто сдвигает все пробелы направо.
Isql –i my.sql –o out.txt

my.sql
CONNECT 'LOG.GDB' USER 'sysdba' PASSWORD 'masterkey';
SELECT TRIM(DATETIME||';'||TRIM(CATEG)||';'||STATE||';'||FUNCID||';'||';'||DOCNUMBER||';'||TRIM(ACTION)||';') FROM LOG WHERE DATETIME>'2012-04-27';
EXIT;

out.txt

TRIM
===============================================================================
2012-07-12 11:54:05.0000;R;0;0;;;Подключение к базе установлено.;
2012-07-12 11:54:05.0000;R;0;0;;;Чтение настроек.;

все строки, кроме первой и "======", дополняются справа пробелами до длины 353 символа.

AFZ
Сообщения: 5
Зарегистрирован: 13 июл 2012, 11:15

Re: Как очистить результат SELECTа от пробелов

Сообщение AFZ » 13 июл 2012, 16:51

"SET LIST ON;" вроде помог, но теперь на выходе в каждой строке выходит название колонки (TRIM), а результат с 33-го символа.
Может кто знает как убрать наименование колонки?

my.sql
CONNECT ...;
SET LIST ON;
SELECT ...;

out.txt

TRIM 2012-07-12;12:27:02.0000;S;160;0;;22859;Запрос коэффициента;

TRIM 2012-07-12;12:27:10.0000;S;160;0;;22859;Регистрация 1,000 X 17,40 = 17,40 "835, , Хлеб УКРАИНСКИЙ (новый формовой) 680гр [ЭХК]";

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48
Контактная информация:

Re: Как очистить результат SELECTа от пробелов

Сообщение hvlad » 13 июл 2012, 19:15

set heading off;

AFZ
Сообщения: 5
Зарегистрирован: 13 июл 2012, 11:15

Re: Как очистить результат SELECTа от пробелов

Сообщение AFZ » 16 июл 2012, 11:33

SET HEADING OFF; ,к сожалению, не работает в паре с SET LIST ON;

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48
Контактная информация:

Re: Как очистить результат SELECTа от пробелов

Сообщение hvlad » 16 июл 2012, 11:54

А если взять isql от 2.5 ?

AFZ
Сообщения: 5
Зарегистрирован: 13 июл 2012, 11:15

Re: Как очистить результат SELECTа от пробелов

Сообщение AFZ » 16 июл 2012, 14:28

2.5 тоже не работает.

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48
Контактная информация:

Re: Как очистить результат SELECTа от пробелов

Сообщение hvlad » 16 июл 2012, 15:01

Странно, мне казалось что я что-то с этим делал не так давно.
Значит не везёт, и isql не подойдёт.
Может external table будет лучше ?

AFZ
Сообщения: 5
Зарегистрирован: 13 июл 2012, 11:15

Re: Как очистить результат SELECTа от пробелов

Сообщение AFZ » 16 июл 2012, 16:31

Спасибо, но я в ET не силен, а разбираться и экспериментировать нет желания.
В общем и так сойдет.

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя