gpt4 book ai didi

sql更新查询

转载 作者:行者123 更新时间:2023-12-02 22:39:18 24 4
gpt4 key购买 nike

我想把 name 列中的所有 _ 前缀都去掉,但是结果可能会引起冲突。因此,如果结果与现有结果重复,我想为其添加一个 _ 后缀,直到没有重复为止。

在下面的示例中,_test 应该重命名为 test___

create table A  
(
name VARCHAR2(20) unique,
id int
);
insert into a (name, id) values ('_test', 1);
insert into a (name, id) values ('test', 2);
insert into a (name, id) values ('test_', 3);
insert into a (name, id) values ('test__', 4);

最佳答案

试试这个:

merge into A
using (with aa as (select id, trim('_' from name) name from A)
select rpad(name,
length(name) - 1 + row_number()
over(partition by name order by id),
'_') name2,
id
from AA) s
on (s.id = a.id)
when matched then
update set a.name = s.name2

关于sql更新查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10974951/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com