Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Field truncate, Oracle report - sql  [new]
Bondix
Member

Откуда:
Сообщений: 22
Good day!

I have report field limited size, but data base field data sometimes is to long to fit into this field.

Database: T1

ROW TEXT
1 aaa
2 bbb
3 ccc
4 ddddd

On report layout must be:

TEXT
aaa
bbb
ccc
ddd
dd

How can I truncate this data to the next row (only one field "TEXT" in report Repeating Frame) using SQL statement ? Please advise. DB: Oracle 8.0.6.0.0. Oracl Report Builder 6.0.8.24.0

let us say 3 is max field size.

SELECT DECODE(SIGN(3 - a.num), -1, 'GREATER' /*TRUNCATE TO NEXT ROW !!*/, 1, 'LESSER', 'EGUAL')
FROM (SELECT max(length(TEXT)) AS num FROM T1) a

P.S. Sorry, due my PC settings I can't wrote in Russian, don't judge me.
Best Regard
7 мар 08, 17:45    [5387246]     Ответить | Цитировать Сообщить модератору
 Re: Field truncate, Oracle report - sql  [new]
suPPLer
Member

Откуда: Харків, Україна
Сообщений: 7794
Блог
SQL> with t as (select 'aaa' data from dual
  2              union all
  3             select 'bb' from dual
  4              union all
  5             select 'ccccc' from dual )
  6  select rtrim(substr(data, 1, 3) || chr(10) || substr(data, 4), chr(10)) rep_data 
  7    from t
  8  ;
 
REP_DATA
--------
aaa
bb
ccc
cc

Работает при условии, что поле данных не заканчивается необходимыми Вам символами переноса строки.

PS: Английский читается куда удобнее транслита.
8 мар 08, 20:03    [5388753]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить