根据某些条件一次更新多条记录
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%'
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%'