怎么获取一个科目的父级如“1001/01/01”他的父级为"1001/01"

本文介绍了一个SQL脚本,该脚本通过循环更新表中的一系列字段,并处理了父子层级的关系。具体而言,它首先创建了一个临时表并插入了一些具有层次结构的数据,然后使用循环逻辑来更新中间代码字段,并根据斜杠位置确定父级代码。

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

create table TempCodeTable0( sMidCode VARCHAR(100),tmpCode VARCHAR(100),tmpParCode VARCHAR(100) )
insert  TempCodeTable0 values '1002/02/001', '1002/02/001',null
insert  TempCodeTable0 values '1002/02', '1002/02',null  
insert  TempCodeTable0 values '1002/02/001/01', '1002/02/001/01',null  

-----实现方法
while 1=1
begin 
    update TempCodeTable0
    set  sMidCode=
        Case When CharIndex('/',sMidCode)>0 then Right(sMidCode, Len(sMidCode + 'a')-1-CharIndex('/',sMidCode)) else NULL end,         
         tmpParCode=
        Case When CharIndex('/',sMidCode)>0 then Case When tmpParCode ='' then '' else tmpParCode + '/' end + Left(sMidCode,CharIndex('/',sMidCode)-1) else tmpParCode end 
   where sMidCode is not NULL
 if @@RowCount = 0 Break
end
------- 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值