powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Replace
52 сообщений из 52, показаны все 3 страниц
Replace
    #39399466
Lary Denis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задачка с собеседования. Как используя только один replace (не regexp_replace), обрезать строки до первого символа x.
То есть на входном наборе
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
with t as (
select 'abcdefxzw4242'   str from dual union all
select '123x343'         str from dual union all
select '00f03xe12x'      str from dual union all
select '0123456789'      str from dual
)
select str
from t


Получить

strabcdef12300f030123456789
...
Рейтинг: 0 / 0
Replace
    #39399479
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lary DenisКак используя только один replace (не regexp_replace), обрезать строки до первого символа x.Нельзя. Но для всяких гуёв видимость создать можно.
Код: plsql
1.
2.
chr(0)
chr(10)

...
Рейтинг: 0 / 0
Replace
    #39399494
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lary Denis,

Можно один replace и один rtrim.

Слабо верится, что кто-то может такое спросить на собеседовании.
...
Рейтинг: 0 / 0
Replace
    #39399500
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshopLary Denis,

Можно один replace и один rtrim.

Слабо верится, что кто-то может такое спросить на собеседовании.А, еще недокументированный reverse. :)
...
Рейтинг: 0 / 0
Replace
    #39399504
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshopМожно один replace и один rtrim.Икс останется.
...
Рейтинг: 0 / 0
Replace
    #39399515
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic,

Код: plaintext
replace(str, ltrim(str, '1234567890abcdefghijklmnopqrstuvwyz'))
...
Рейтинг: 0 / 0
Replace
    #39399525
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshop
Код: plaintext
'1234567890abcdefghijklmnopqrstuvwyz'
Магия исходных данных. При том, что задача сформулирована в общем виде.
...
Рейтинг: 0 / 0
Replace
    #39399528
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic,

Насколько серьезная сама задача, настолько серьезное решение.
...
Рейтинг: 0 / 0
Replace
    #39399537
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshopНасколько серьезная сама задача, настолько серьезное решение.Условия всё равно ж не выполнены.
...
Рейтинг: 0 / 0
Replace
    #39399543
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ElicУсловия всё равно ж не выполнены.

А условия из серии "казнить нельзя помиловать". Значит ли "один replace" replace и только replace или replace может использоваться только один раз.

SY.
...
Рейтинг: 0 / 0
Replace
    #39399549
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SYЗначит ли "один replace" replace и только replace или replace может использоваться только один раз.Сам об этом задумывался. Но на "решаемость" такое трактование не влияет.
...
Рейтинг: 0 / 0
Replace
    #39399554
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
2.
3.
4.
5.
6.
7.
with t as (
select 'abcdefxzw4242'   str from dual union all
select '123x343'         str from dual union all
select '00f03xe12x'      str from dual union all
select '0123456789'      str from dual
)
select replace(str,'x',rpad('x',4000)) from t;
...
Рейтинг: 0 / 0
Replace
    #39399559
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orawish
Код: plsql
1.
rpad('x',4000)

Тут не "только один replace". И тоже лишь видимость :)
...
Рейтинг: 0 / 0
Replace
    #39399560
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ElicСам об этом задумывался. Но на "решаемость" такое трактование не влияет.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
with t as (
           select 'abcdefxzw4242'   str from dual union all
           select '123x343'         str from dual union all
           select '00f03xe12x'      str from dual union all
           select '0123456789'      str from dual
          )
select  str,
        replace(str,substr(str,nullif(instr(str,'x'),0))) new_str
  from  t
/

STR           NEW_STR
------------- -------------
abcdefxzw4242 abcdef
123x343       123
00f03xe12x    00f03
0123456789    0123456789

SQL> 



Хотя replace тут как попу гармонь.

SY.
...
Рейтинг: 0 / 0
Replace
    #39399563
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SYХотя replace тут как попу гармонь.Ага.
...
Рейтинг: 0 / 0
Replace
    #39399572
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
бл*, что за олдфаги с детскими психотравмами дают такие задачи на собесах??
...
Рейтинг: 0 / 0
Replace
    #39399573
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ok, ok без pad-ов:

нажать на пробел и держать достаточно долго
Код: plsql
1.
2.
3.
4.
5.
6.
7.
with t as (
select 'abcdefxzw4242'   str from dual union all
select '123x343'         str from dual union all
select '00f03xe12x'      str from dual union all
select '0123456789'      str from dual
)
select replace(str,'x','x    ') from t;



а вообще, имхо (про вопрос) - дурь причем, вялая
...
Рейтинг: 0 / 0
Replace
    #39399803
fortnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
with t as (
select 'abcdefxzw4242' str from dual union all
select '123x343' str from dual union all
select '00f03xe12x' str from dual union all
select '0123456789' str from dual
)
select regexp_replace (str,'x.*','')
from t
...
Рейтинг: 0 / 0
Replace
    #39399826
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fortnetregexp_replaceГлаза разул?
Lary Denis(не regexp_replace)
...
Рейтинг: 0 / 0
Replace
    #39399887
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lary Denis,

А в чём сложность?

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
with t as (
select 'abcdefxzw4242'   str from dual union all
select '123x343'         str from dual union all
select '00f03xe12x'      str from dual union all
select '0123456789'      str from dual
)
select replаce(str,'x',chr(19)||chr(27)) s from t;


S                                                                              
-----------------
abcdef                                                                          
123                                                                             
00f03                                                                           
0123456789   

 



Код: plsql
1.
2.
3.
4.
5.
6.
create or replace function replаce(i_str varchar2, i_ser varchar2, i_rep varchar2 := chr(18)) return varchar2
is
begin
 return nvl(substr(i_str,1,instr(i_str,i_ser,1)-1),i_str);
end;
/



з.ы. где вы такие собеседования находите-то? О_о
...
Рейтинг: 0 / 0
Replace
    #39399907
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lary Denis,

Один replace, говорите?

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
with t as (
select 'abcdefxzw4242'   str from dual union all
select '123x343'         str from dual union all
select '00f03xe12x'      str from dual union all
select '0123456789'      str from dual
)
select str, xmlquery('for $i in /s return replace($i,"(x).*","")' passing xmltype('<s>'||str||'</s>') returning content).GetStringVal() s
from t;
...
Рейтинг: 0 / 0
Replace
    #39399912
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic,

да,да, конечно технически это regexp_replace, но формально....
...
Рейтинг: 0 / 0
Replace
    #39399915
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
envда,да, конечно технически это regexp_replace, но формально....Технически это XQuery.
...
Рейтинг: 0 / 0
Replace
    #39399917
env,

To: Referent

Subj: URGENT REPLACE

Replace all strings in document by its substring to first letter x.

Very urgent.

Big Boss.
...
Рейтинг: 0 / 0
Replace
    #39399928
Glays
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смотря что за вакансияenv,

To: Referent

Subj: URGENT REPLACE

Replace all strings in document by its substring to first letter x.

Very urgent.

Big Boss.

LENGTH можно тоже заменить на 4000, только считаться будет долго. Ну и MOD не придумал как заменить.
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
WITH t
     AS (SELECT 'abcdefxzw4242' str FROM DUAL
         UNION ALL
         SELECT '123x343' str FROM DUAL
         UNION ALL
         SELECT '00f03xe12x' str FROM DUAL
         UNION ALL
         SELECT '0123456789' str FROM DUAL),
     asdf
     AS (    SELECT 'x' || CHR (LEVEL + 96) AS mask, 'xx' AS r_mask, LEVEL AS cnt
               FROM DUAL
         CONNECT BY LEVEL <= 23
         UNION ALL
         SELECT 'xy' AS mask, 'xx' AS r_mask, 24 AS cnt FROM DUAL
         UNION ALL
         SELECT 'xz' AS mask, 'xx' AS r_mask, 25 AS cnt FROM DUAL
         UNION ALL
             SELECT 'x' || TO_CHAR (LEVEL - 1) AS mask,
                    'xx' AS r_mask,
                    LEVEL + 25 AS cnt
               FROM DUAL
         CONNECT BY LEVEL <= 10
         UNION ALL
         SELECT 'xx' AS mask, 'x' AS r_mask, 36 AS cnt FROM DUAL
         UNION ALL
         SELECT 'x' AS mask, NULL AS r_mask, -1 AS cnt
           FROM DUAL),
     repl (str,
           mask,
           r_mask,
           cnt)
     AS (SELECT str AS str,
                mask,
                r_mask,
                LENGTH (str) * 36 AS cnt
           FROM t, asdf
          WHERE asdf.cnt = 1
         UNION ALL
         SELECT REPLACE (str, asdf.mask, asdf.r_mask) AS str,
                asdf.mask,
                asdf.r_mask,
                repl.cnt - 1 AS cnt
           FROM repl, asdf
          WHERE    asdf.cnt = MOD (repl.cnt, 36) + 1 AND repl.cnt - 1 >= 0
                OR (repl.cnt = 0 AND asdf.cnt = -1))
SELECT *
  FROM repl
 WHERE cnt = -1


Я принят?
...
Рейтинг: 0 / 0
Replace
    #39400014
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elicorawish
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
with t as (
select 'abcdefxzw4242'   str from dual union all
select '123x343'         str from dual union all
select '00f03xe12x'      str from dual union all
select '0123456789'      str from dual
)
select replace(str,'x',rpad('x',4000)) from t;

rpad('x',4000)


Тут не "только один replace". И тоже лишь видимость :)можете объяснить, в чём дело? Ни разу не сталкивался, в доке найти не смог - почему результат такой
...
Рейтинг: 0 / 0
Replace
    #39400064
Vint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymx,
длинна строки. на 12.1 при varchar2>4к результат будет неожиданный.
...
Рейтинг: 0 / 0
Replace
    #39400065
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vintandreymx,
длинна строки. на 12.1 при varchar2>4к результат будет неожиданный.да и на 11 для меня неожиданно
...
Рейтинг: 0 / 0
Replace
    #39400071
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymx,

С сишной функции возникает эксепшен и результат возвращается тот, который пришел.
Защита от атак переполнения буфера.
...
Рейтинг: 0 / 0
Replace
    #39400079
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshopandreymx,

С сишной функции возникает эксепшен и результат возвращается тот, который пришел после обрезания.
Защита от атак переполнения буфера.Fixed.
...
Рейтинг: 0 / 0
Replace
    #39400089
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymxможете объяснить, в чём дело? Ни разу не сталкивался, в доке найти не смог - почему результат такойRTFM Character Functions Returning Character Values (FAQ) :SQL Language ReferenceThe length of the value returned by the function is limited by the maximum length of the data type returned.
For functions that return CHAR or VARCHAR2, if the length of the return value exceeds the limit, then Oracle Database truncates it and returns the result without an error message.
...
Рейтинг: 0 / 0
Replace
    #39400111
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymxVintandreymx,
длинна строки. на 12.1 при varchar2>4к результат будет неожиданный.да и на 11 для меня неожиданно
на границах лимитов всегда можно ждать неожиданностей
(за это и опубликовал, если честно )

то ли дело -
Код: plsql
1.
2.
3.
4.
5.
6.
7.
with t as (
  select 'abcdefxzw4242'   str from dual union all
  select '123x343'         str from dual union all
  select '00f03xe12x'      str from dual union all
  select '0123456789'      str from dual
)
select replace(str,'x', 'x'||chr(0) ) from t;
...
Рейтинг: 0 / 0
Replace
    #39400116
fortnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic,


а из 12 с пойдёт?


WITH FUNCTION replace_2 (v_str varchar2) RETURN varchar2 IS
vv_str varchar2(200);
BEGIN

vv_str := replace (v_str,'x','%%%');
for i in 1 ..4000 loop
for c in 1 ..256 loop
vv_str := replace (vv_str,'%%%' || chr(c),'%%%');
end loop;
end loop;
RETURN replace (vv_str,'%%%','');
END;
select replace_2(str) from test_test
...
Рейтинг: 0 / 0
Replace
    #39400121
fortnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
create table test_test as
select 'abcdefxzw4242' str from dual union all
select '123x343' str from dual union all
select '00f03xe12x' str from dual union all
select '00f03xe12x' str from dual union all
select '00f03xe12x' str from dual union all
select '0123456789' str from dual;


WITH FUNCTION replace_2 (v_str varchar2) RETURN varchar2 IS
vv_str varchar2(200);
BEGIN

vv_str := replace (v_str,'x','%%%');
for i in 1 ..4000 loop
for c in 1 ..256 loop
vv_str := replace (vv_str,'%%%' || chr(c),'%%%');
end loop;
end loop;
RETURN replace (vv_str,'%%%','');
END;
select replace_2(str) from test_test
/

ошибочно отослалось предыдущее.
...
Рейтинг: 0 / 0
Replace
    #39400124
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хоспади
SY же озвучил нормальное решение, полностью удовлетворяющее заданию
...
Рейтинг: 0 / 0
Replace
    #39400135
Dshedoo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав Любомудров,

А зачем там вообще replace тогда?

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
with t as (
select 'abcdefxzw4242'   str from dual union all
select '123x343'         str from dual union all
select '00f03xe12x'      str from dual union all
select '0123456789'      str from dual
)
select case when instr(str,'x') > 0 then substr(str,1,instr(str,'x')-1) else str end
from t
...
Рейтинг: 0 / 0
Replace
    #39400145
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что значит зачем?
Условие такое
...
Рейтинг: 0 / 0
Replace
    #39400151
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав ЛюбомудровSY же озвучил нормальное решение, полностью удовлетворяющее заданиюКак раз-таки в том "решении" само задание лишнее.
...
Рейтинг: 0 / 0
Replace
    #39400152
Dshedoo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав Любомудров,
Я к тому, что представленное SY решение, никак не использует replace.
Это всё равно, что воткнуть просто replace(str,'x','y') и дальше работать с 'y' другими функциями, и говорить, что replace используется.

Думаю, что-то подобное должно быть:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
with t as (
select 'abcdefxzw4242'   str from dual union all
select '123x343'         str from dual union all
select '00f03xe12x'      str from dual union all
select '0123456789'      str from dual
)
select nvl(replace(str,substr(str,instr(str,'x')),null),str)
from t
...
Рейтинг: 0 / 0
Replace
    #39400155
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orawish
Код: plsql
1.
select replace(str,'x', 'x'||chr(0) ) from t;

Я ж уже писал. Зависит от гуя.
Код: plsql
1.
2.
3.
4.
5.
6.
REPLACE(STR,'X','X'||CHR(0
--------------------------
abcdefx zw4242
123x 343
00f03x e12x
0123456789

...
Рейтинг: 0 / 0
Replace
    #39400158
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ElicВячеслав ЛюбомудровSY же озвучил нормальное решение, полностью удовлетворяющее заданиюКак раз-таки в том "решении" само задание лишнее.Задание есть задание
Все остальное -- это уже рассуждения на тему
...
Рейтинг: 0 / 0
Replace
    #39400159
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я просто удивился, что такое очевидное решение не было озвучено сразу
А потом можно и повеселиться
...
Рейтинг: 0 / 0
Replace
    #39400160
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elicorawish
Код: plsql
1.
select replace(str,'x', 'x'||chr(0) ) from t;

Я ж уже писал. Зависит от гуя.
Код: plsql
1.
2.
3.
4.
5.
6.
REPLACE(STR,'X','X'||CHR(0
--------------------------
abcdefx zw4242
123x 343
00f03x e12x
0123456789


???
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
with t as (
  select 'abcdefxzw4242'   str from dual union all
  select '123x343'         str from dual union all
  select '00f03xe12x'      str from dual union all
  select '0123456789'      str from dual
)
select dump(replace(str,'x', rpad('x',1e4 ))) from t;
Typ=1 Len=6: 97,98,99,100,101,102
Typ=1 Len=3: 49,50,51
Typ=1 Len=5: 48,48,102,48,51
Typ=1 Len=10: 48,49,50,51,52,53,54,55,56,57
...
Рейтинг: 0 / 0
Replace
    #39400161
fortnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав ЛюбомудровХоспади
SY же озвучил нормальное решение, полностью удовлетворяющее заданию

Я правильно понимаю, что моё решение не подходит?

WITH FUNCTION replace_2 (v_str varchar2) RETURN varchar2 IS
vv_str varchar2(4000) :=v_str;
BEGIN


for i in 1 ..4000 loop
for c in 1 ..256 loop
vv_str := replace (vv_str,'x' || chr(c),'x');
end loop;
end loop;
RETURN replace (vv_str,'x','');
END;
select replace_2(str) from test_test
...
Рейтинг: 0 / 0
Replace
    #39400171
Jonhson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orawishandreymxпропущено...
да и на 11 для меня неожиданно
на границах лимитов всегда можно ждать неожиданностей
(за это и опубликовал, если честно )

то ли дело -
Код: plsql
1.
2.
3.
4.
5.
6.
7.
with t as (
  select 'abcdefxzw4242'   str from dual union all
  select '123x343'         str from dual union all
  select '00f03xe12x'      str from dual union all
  select '0123456789'      str from dual
)
select replace(str,'x', 'x'||chr(0) ) from t;



внезапно

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
with t as (
select 'abcdefxzw4242'   str from dual union all
select '123x343'         str from dual union all
select '00f03xe12x'      str from dual union all
select '0123456789'      str from dual union all
select 'x0123456789'     str from dual union all
select 'x'      str from dual
)
select replace(str,'x',rpad('x',4000)) from t;
...
Рейтинг: 0 / 0
Replace
    #39400174
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fortnetВячеслав ЛюбомудровХоспади
SY же озвучил нормальное решение, полностью удовлетворяющее заданию

Я правильно понимаю, что моё решение не подходит?

WITH FUNCTION replace_2 (v_str varchar2) RETURN varchar2 IS
vv_str varchar2(4000) :=v_str;
BEGIN


for i in 1 ..4000 loop
for c in 1 ..256 loop
vv_str := replace (vv_str,'x' || chr(c),'x');
end loop;
end loop;
RETURN replace (vv_str,'x','');
END;
select replace_2(str) from test_testНу это ты спрашивай у собеседующих ТС
Особенно, если у них, например, 8i
...
Рейтинг: 0 / 0
Replace
    #39400177
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orawish???Ты как-то странно цитируешь, но таки да, я согласен, что "дурь причем, вялая" - не видимость.
...
Рейтинг: 0 / 0
Replace
    #39400198
fortnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав ЛюбомудровНу это ты спрашивай у собеседующих ТС
Особенно, если у них, например, 8i

Ну, это вообще мелочи.
Можно всё в блоке выполнить.

Главное заложенная идея.
...
Рейтинг: 0 / 0
Replace
    #39400210
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, идея неплоха
Сочувствую
...
Рейтинг: 0 / 0
Replace
    #39400421
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshopdbms_photoshopandreymx,

С сишной функции возникает эксепшен и результат возвращается тот, который пришел после обрезания.
Защита от атак переполнения буфера.Fixed.спасибо всем за помощь, удачи
...
Рейтинг: 0 / 0
Replace
    #39400641
livesql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dbms_photoshopdbms_photoshopandreymx,

С сишной функции возникает эксепшен и результат возвращается тот, который пришел после обрезания.
Защита от атак переполнения буфера.Fixed.

На 12.2 с длинными строками - воспроизводится (((

https://livesql.oracle.com/apex/livesql/s/ejqg9bjn7djawpjxixxj26sir
...
Рейтинг: 0 / 0
Replace
    #39400898
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
livesqldbms_photoshopпропущено...
Fixed.

На 12.2 с длинными строками - воспроизводится (((

https://livesql.oracle.com/apex/livesql/s/ejqg9bjn7djawpjxixxj26sir Что понимается под "воспроизводится"?
Поведение такое же как и в более старых версиях - х и все после него ушло.

Хуже было бы, если б при переполнении появлялись эффекты типа 19045174 (ecc-но с поправкой на специфику вызовов).
...
Рейтинг: 0 / 0
52 сообщений из 52, показаны все 3 страниц
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Replace
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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