|
|
|
Replace
|
|||
|---|---|---|---|
|
#18+
Elicorawish Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. Тут не "только один replace". И тоже лишь видимость :)можете объяснить, в чём дело? Ни разу не сталкивался, в доке найти не смог - почему результат такой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 13:15 |
|
||
|
Replace
|
|||
|---|---|---|---|
|
#18+
andreymx, длинна строки. на 12.1 при varchar2>4к результат будет неожиданный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 13:42 |
|
||
|
Replace
|
|||
|---|---|---|---|
|
#18+
Vintandreymx, длинна строки. на 12.1 при varchar2>4к результат будет неожиданный.да и на 11 для меня неожиданно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 13:42 |
|
||
|
Replace
|
|||
|---|---|---|---|
|
#18+
andreymx, С сишной функции возникает эксепшен и результат возвращается тот, который пришел. Защита от атак переполнения буфера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 13:47 |
|
||
|
Replace
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopandreymx, С сишной функции возникает эксепшен и результат возвращается тот, который пришел после обрезания. Защита от атак переполнения буфера.Fixed. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 13:50 |
|
||
|
Replace
|
|||
|---|---|---|---|
|
#18+
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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 13:54 |
|
||
|
Replace
|
|||
|---|---|---|---|
|
#18+
andreymxVintandreymx, длинна строки. на 12.1 при varchar2>4к результат будет неожиданный.да и на 11 для меня неожиданно на границах лимитов всегда можно ждать неожиданностей (за это и опубликовал, если честно ) то ли дело - Код: plsql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 14:06 |
|
||
|
Replace
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 14:07 |
|
||
|
Replace
|
|||
|---|---|---|---|
|
#18+
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 / ошибочно отослалось предыдущее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 14:08 |
|
||
|
Replace
|
|||
|---|---|---|---|
|
#18+
Хоспади SY же озвучил нормальное решение, полностью удовлетворяющее заданию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 14:10 |
|
||
|
Replace
|
|||
|---|---|---|---|
|
#18+
Вячеслав Любомудров, А зачем там вообще replace тогда? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 14:21 |
|
||
|
Replace
|
|||
|---|---|---|---|
|
#18+
Что значит зачем? Условие такое ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 14:27 |
|
||
|
Replace
|
|||
|---|---|---|---|
|
#18+
Вячеслав ЛюбомудровSY же озвучил нормальное решение, полностью удовлетворяющее заданиюКак раз-таки в том "решении" само задание лишнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 14:31 |
|
||
|
Replace
|
|||
|---|---|---|---|
|
#18+
Вячеслав Любомудров, Я к тому, что представленное SY решение, никак не использует replace. Это всё равно, что воткнуть просто replace(str,'x','y') и дальше работать с 'y' другими функциями, и говорить, что replace используется. Думаю, что-то подобное должно быть: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 14:33 |
|
||
|
Replace
|
|||
|---|---|---|---|
|
#18+
orawish Код: plsql 1. Я ж уже писал. Зависит от гуя. Код: plsql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 14:34 |
|
||
|
Replace
|
|||
|---|---|---|---|
|
#18+
ElicВячеслав ЛюбомудровSY же озвучил нормальное решение, полностью удовлетворяющее заданиюКак раз-таки в том "решении" само задание лишнее.Задание есть задание Все остальное -- это уже рассуждения на тему ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 14:40 |
|
||
|
Replace
|
|||
|---|---|---|---|
|
#18+
Я просто удивился, что такое очевидное решение не было озвучено сразу А потом можно и повеселиться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 14:42 |
|
||
|
Replace
|
|||
|---|---|---|---|
|
#18+
Elicorawish Код: plsql 1. Я ж уже писал. Зависит от гуя. Код: plsql 1. 2. 3. 4. 5. 6. ??? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 14:42 |
|
||
|
Replace
|
|||
|---|---|---|---|
|
#18+
Вячеслав ЛюбомудровХоспади 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 14:42 |
|
||
|
Replace
|
|||
|---|---|---|---|
|
#18+
orawishandreymxпропущено... да и на 11 для меня неожиданно на границах лимитов всегда можно ждать неожиданностей (за это и опубликовал, если честно ) то ли дело - Код: plsql 1. 2. 3. 4. 5. 6. 7. внезапно Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 14:55 |
|
||
|
Replace
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 14:59 |
|
||
|
Replace
|
|||
|---|---|---|---|
|
#18+
orawish???Ты как-то странно цитируешь, но таки да, я согласен, что "дурь причем, вялая" - не видимость. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 15:02 |
|
||
|
Replace
|
|||
|---|---|---|---|
|
#18+
Вячеслав ЛюбомудровНу это ты спрашивай у собеседующих ТС Особенно, если у них, например, 8i Ну, это вообще мелочи. Можно всё в блоке выполнить. Главное заложенная идея. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 15:22 |
|
||
|
Replace
|
|||
|---|---|---|---|
|
#18+
Да, идея неплоха Сочувствую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 15:29 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39400121&tid=1886481]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
161ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
80ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 504ms |

| 0 / 0 |
