根据某些条件一次更新多条记录

Update multiple records once at a time based on some conditions

oracle 中有很多错误的值 table 比如 -

b_id                   p_id      date
----------             ----      ----
ba_2020_xyz_jan_2021   xy_2021   01/01/2021
ba_2020_abc_jan_2021   ab_2021   01/01/2021
ba_2020_xyz_feb_2021   xy_2021   01/02/2021
ba_2020_abc_feb_2021   ab_2021   01/02/2021
ba_2020_xyz_mar_2021   xy_2021   01/03/2021
ba_2020_abc_mar_2021   ab_2021   01/03/2021
.......................

我想将年份为 2020 的所有这些 b_id 值更新为 2021,如下所示 -

b_id                   p_id      date
----------             ----      ----
ba_2021_xyz_jan_2021   xy_2021   01/01/2021
ba_2021_abc_jan_2021   ab_2021   01/01/2021
ba_2021_xyz_feb_2021   xy_2021   01/02/2021
ba_2021_abc_feb_2021   ab_2021   01/02/2021
ba_2021_xyz_mar_2021   xy_2021   01/03/2021
ba_2021_abc_mar_2021   ab_2021   01/03/2021
.......................

你能帮我更新到上面的值吗?

看来您只需要在这里使用 REPLACE 函数 -

UPDATE YOUR_TABLE
   SET b_id = REPLACE(b_id, '2020', '2021')
 WHERE b_id LIKE '%2020%'