Обновить подстроку в столбце с динамическим значением в таблице

В цикле for нет тела цикла:

elif option == 2:
    print "please enter a number"
    for x in range(x, 1, 1):
elif option == 0:

На самом деле весь блок if option == 1: имеет проблемы с отступом. elif option == 2: должен быть на том же уровне, что и оператор if.

0
задан Luv 13 July 2018 в 10:11
поделиться

1 ответ

Я предпочитаю использовать простые строковые функции, такие как INSTR, SUBSTR и REPLACE, но в этом случае он гораздо читабельнее с помощью простого REGEXP-REPLACE:

with testtab as(
  select '[...]#Product offer ID=505618817#Promotion effective date=20180403#Promotion expiration date=20180703#Promotion indicator=Y
#[...]#Waive ind= #' as text from dual)
select regexp_replace(text, 'Promotion expiration date=\d*', 'Promotion expiration date=' || to_char(sysdate, 'YYYYMMDD') ) from testtab;

\ d * - от 0 до бесконечности таких как '', 345345 или 4356456345634563546. Он совпадает с #. Это означает, что он заменяет Promotion expiration date=20180606, а также Promotion expiration date=345665756567

0
ответ дан Chrᴉz 17 August 2018 в 13:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: