oracle 10g с использованием update и concat

#sql #oracle #concat

#sql #Oracle #объединение

Вопрос:

Моя структура таблицы такова.

 gno  gdate             DCNo    DCDATE 
g/1  11/12/2018        cnt/1   12/12/2018
g/2  20/12/2018        cnt/2   13/12/2018
g/3  11/12/2018         3      11/12/2018
g/4  10/12/2018         4      10/12/2018 
  

Я хочу обновить все столбцы в dcno с помощью cnt / no. здесь строки 3 и 4 должны быть обновлены до cnt / 3 и cnt / 4

Комментарии:

1. Oracle REGEXP_LIKE — ваш друг. Найдите его в Интернете.

Ответ №1:

Попробуйте это

 update tablename set dcno='cnt/'||dcno
where dcnot not like 'cnt/%'
  

Ответ №2:

Это то, чего вы хотите?

 update t
    set DCNO = 'cnt/' || DCNO
    where DCNO not like 'cnt/%';
  

Ответ №3:

пример использования

 update table
set DCNo= case when DCNo in ('3','4')then 'cnt/'||DCNO end