sql 按规则生成变量(根据另一个变量和自然递增值)批量修改、基本语句

本文介绍了一种在数据库中更新字段值的技巧,通过SQL语句实现字段值按指定规则递增,例如将dest_name字段更新为class_班级#student_递增序号的格式。此外,还提供了修改和删除记录的SQL示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近遇到个需求,需要将数据库中一个字段设置为按给定的规则递增,比如下图:

现在要将 dest_name 全部改为class_"班级"#student_"从1递增的序号" 的格式,也就是像第一个的dest_name那样。

最后得到的数据库语句是:

update test set dest_name = 'class_'||class||'#'||(select seq from (select row_number() over(order by id) as seq, id from test) as table2 where table2.id = test.id) ;

红色部分其实就为了产生递增的值,如果不是从1开始,可以在末尾+n, || 是数据库字符连接;

结果如下:

 

设置变量:

update table_name set value_name= replace(value_name, 'XXX', '***') where value_name2= 'value';

delete from table_name where value_name= 'value';

设置在value_name2 = '7'条件下 所有value_name3以789开头的value_name 为123456

update table_name set value_name= '123456' where value_name2 = '7' and value_name3 like '789%';

注意like使用。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值