powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Informix [игнор отключен] [закрыт для гостей] / Куда деваются trailing spaces ?
4 сообщений из 4, страница 1 из 1
Куда деваются trailing spaces ?
    #38541397
falcon111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
11.50.fc9 / w64

Запрос:
select length('aaa'), length('aaa ') from table(set{1});

Результат:
E1_EXPR E2_EXPR
-----------------------
3 3
1 rows selected.

Как так?

Нагуглить сумел IFX_PAD_VARCHAR и IFX_TRIMTRAILINGSPACES, первое, насколько я понимаю, прозрачно убирает лишний мусор на участке передачи данных сервер-клиент, второе - вроде то, что надо, но работает только на jdbc, а мне надо odbc.

Подскажите как отучить сервер резать пробелы, когда его никто не просит. В конце концов зачем тогда trim() ?

Спасибо.
...
Рейтинг: 0 / 0
Куда деваются trailing spaces ?
    #38541528
victor16
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
falcon111,

попробуйте использовать функцию CHAR_LENGTH
...
Рейтинг: 0 / 0
Куда деваются trailing spaces ?
    #38542314
falcon111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
victor16попробуйте использовать функцию CHAR_LENGTH

Теплее, спасибо.
Код: sql
1.
2.
3.
4.
5.
6.
select char_length('aaa'), char_length('aaa   ') from table(set{1})

E1_EXPR     E2_EXPR
-----------------------
3           6
1 rows selected.



Но основная проблема в том что оно не только длину неправильно считает, а и сами строки выдает без пробелов. Пример с длиной я привел просто потому что он наглядный, потому как затрудняюсь наглядно отобразить тут число пробелов в выборке из таблицы.

Код: sql
1.
2.
3.
4.
5.
6.
select 'aaa', 'aaa   ', 'aaa   '||'bbb   ' from table(set{1})

E1_ E2_EXP E3_EXPR
-----------------------
aaa aaa    aaa   bbb
1 rows selected.


В результате:
1. Размер поля в курсоре 3, длина данных 3
2. Размер поля в курсоре 6, длина данных 3
3. Размер поля в курсоре 12, длина данных 9
...
Рейтинг: 0 / 0
Куда деваются trailing spaces ?
    #38542723
victor16
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
falcon111Но основная проблема в том что оно сами строки выдает без пробелов.

Это тримит ODBC. Внутри сервера все отрабатывает праильно:
Код: sql
1.
2.
3.
create temp table tmptb1 (txt varchar(30)) with no log;
insert into tmptb1 values ('aaa   '||'bbb   ');
select *,char_length(txt) from tmptb1;



Попробуйте переменную окружения IFX_PAD_VARCHAR
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Informix [игнор отключен] [закрыт для гостей] / Куда деваются trailing spaces ?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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