|
|
|
Первая строка CLOB
|
|||
|---|---|---|---|
|
#18+
Очень нужна помощь! Есть одна база к которой есть доступ только на чтение. Из базы нужно выдернуть информацию для отчета. Данный нужны из нескольких таблиц, следовательно есть запрос вида: SELECT DISTINCT id1, id2, dbms_lob.substr(id3,4000), dbms_lob.substr(id4,4000) FROM MYBASE.TABLE1 T1 JOIN MYBASE.TABLE2 T2 ON T1.id1=T2.id2 JOIN MYBASE.TABLE3 T3 on T1.id2=T2.id3 WHERE 1 = 1 AND parm2 and parm3; Для sqlplus написан сценарий: set pagesize 0; set feedback off; set serveroutput ON size 32000; set linesize 32000; set long 99999999; set recsep off; set wrap off; SET COLSEP ';'; set HEADING off; spool file.xls SELECT DISTINCT id1, id2, dbms_lob.substr(id3,4000), dbms_lob.substr(id4,4000) FROM MYBASE.TABLE1 T1 JOIN MYBASE.TABLE2 T2 ON T1.id1=T2.id2 JOIN MYBASE.TABLE3 T3 on T1.id2=T2.id3 WHERE 1 = 1 AND parm2 and parm3; spool off Но при выгрузке в exсel весь вывод сбивается в один столбец и бьется по строкам. Это вообще логично, т.к. одно из полей вывода CLOB со знаками переноса внутри. Причем из этого поля нужна только первая строка и получать ее нужно на этапе sql. Впервые сталкиваюсь с sql поэтому прошу помощи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2017, 10:17 |
|
||
|
Первая строка CLOB
|
|||
|---|---|---|---|
|
#18+
norulizzz, раз уж научились брать первые 4000 символов, то трудности взять до авторзнаками переноса внутри не так тяжело ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2017, 10:24 |
|
||
|
Первая строка CLOB
|
|||
|---|---|---|---|
|
#18+
123йй, при попытке сделать dbms_lob.substr(id3,chr (10)), вылетает ошибка 01722 (Неверное число) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2017, 12:07 |
|
||
|
Первая строка CLOB
|
|||
|---|---|---|---|
|
#18+
norulizzz123йй, при попытке сделать dbms_lob.substr(id3,chr (10)), вылетает ошибка 01722 (Неверное число) вот оно какой вопрос,такой ответ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2017, 12:20 |
|
||
|
Первая строка CLOB
|
|||
|---|---|---|---|
|
#18+
norulizzz, Вместо chr(10) нужно было просто написать 'хочу до конца строки'. ЗЫ. Почитать про функцию не пробовали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2017, 12:23 |
|
||
|
Первая строка CLOB
|
|||
|---|---|---|---|
|
#18+
Если кому то поможет, реализовал так : dbms_lob.substr(id3, instrb(id3,chr (10))) Не знаю на сколько идеологически верно, но моих знаний на большее не хватило, и самое главное работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2017, 10:17 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39383836&tid=1886664]: |
0ms |
get settings: |
6ms |
get forum list: |
16ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
168ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 450ms |

| 0 / 0 |
