数据处理4位树代码扩展为6位

原始数据

1    行政后勤            0001
2    院办                  000104810002
4    宣传室                000104810004
5    综合档案室            000104810005
6    收发室                000104810006
7    车队                000104810007
8    人力资源部        00010008
10    医院控制处        00010010
11    病案管理处        00010011
12    护理部            00010012
13    消毒供应中心    01720013
14    科教处            00010014
16    学院办公室        00010016
17    监察审计处        00010017
18    工会                00010018
19    团委                00010019
20    财务处                00010020
22    附二门诊收费处    000100200022
23    儿童门急诊            000100200023
24    附二住院收费处    000100200024
27    儿童住院收费处    000100200027

方法一:

;with tree as
(
   select ksdm,ksmc,
	case len(kswm) when 4 then ‘‘ when 8 then ‘00‘+substring(kswm,1,4) when 12 then ‘00‘+substring(kswm,5,4) when 16 then ‘00‘+substring(kswm,9,4) end as p,
	case len(kswm) when 4 then ‘00‘+kswm when 8 then ‘00‘+substring(kswm,5,4) when 12 then ‘00‘+substring(kswm,9,4) when 16 then ‘00‘+substring(kswm,13,4) end as c
    from ks
)
,cte as
(
	-->begin定位点
   select ksdm,ksmc,c as kswm,c,p,1 as levle from tree where p=‘‘
    -->end
   union all
    -->begin
   select tree.ksdm,tree.ksmc,cte.kswm+tree.c as kswm,tree.c,tree.p,levle+1 as levle from tree inner join cte on tree.p=cte.c
    -->end
)
select * from cte order by kswm

方法二:

Excel函数

=IF(LEN(C3)>4,CONCATENATE("00",MID(C3,5,4)),"")

时间: 2024-10-11 18:18:51

数据处理4位树代码扩展为6位的相关文章

在64位主机上编译产生32位的目标代码

   今天又看CS630[1]的Chapter 15,发现里头的一个例程manydots.s无法正常编译. $ gcc manydots.s -o manydots /tmp/ccIvmRVT.o: In function `_start': (.text+0x0): multiple definition of `_start' /usr/lib/gcc/x86_64-linux-gnu/4.3.1/../../../../lib/crt1.o:(.text+0x0): first defin

[Effective JavaScript 笔记] 第7条:视字符串为16位的代码单元序列

Unicode编码,基础:它为世界上所有的文字系统的每个字符单位分配一个唯一的整数,该整数介于0~1114111之间,在Unicode术语中称为代码点(code point). 和其它字符编码几乎没有任何不同(例如ASCII). 不同在于ASCII将每个索引映射为唯一的二进制表示,但Unicode允许多个不同二进制编码的代码点. 不同的编码在要求存储的字符串数量和操作速度之间进行权衡. 目前最流行的Unicode编码方式有:UTF-8,UTF-16,UTF-32. Unicode根据历史的数据,

《80X86汇编语言程序设计教程》十一 32位代码段和16位代码段切换实例

1.  演示32位代码段与16位代码段之间的切换.实现的功能是以十六进制和ASCII码字符两种形式显示从内存地址100000H开始的16个字节的内容. 2.  源代码如下: 1 ;DosTest.Asm 2 ;16位偏移的段间转移指令的宏定义 3 ;使用于16位段,用于跳转到32位目的段 4 ;注意:标号偏移必须在16位二进制符号数数能表示的范围之内 5 JUMP16 macro selector,offsetv 6 db 0eah ;操作码 7 dw offsetv ;16位偏移 8 dw s

C# 表达式树Lambda扩展(四)

一.前言 本来计算这篇文章在后面需要运用的时候写的,但是既然写到表达式的扩展呢,就一起写完吧. 看到这个标题就有一种疑问,Lambda表达式本来就是表达式树,还需要怎么扩展?那就看看下面的内容,你就知道了. 表达式系列目录 C# 表达式树讲解(一) C# 表达式树遍历(二) C# 表达式树分页扩展(三) 二.Lambda扩展 这里先不忙解答上面的问题,我们先看下这样一个应用场景. 一个页面的请求,里面带有一些条件查询,请求类如下 public class ScoreRequest { publi

C++ 中注意,零扩展和符号位扩展

版权声明:本文为博主原创文章,未经博主允许不得转载. 首先,介绍一下两种扩展的定义 转 http://blog.csdn.net/jaylong35/article/details/6160736 符号扩展:当用更多的内存存储某一个有符号数时,由于符号位位于该数的第一位,扩展之后,符号位仍然需要位于第一位,所以,当扩展一个负数的时候需要将扩展的高位全赋为1.对于正数而言,符号扩展和零扩展是一样的,因为符号位就是0. 比如一个用一个8位二进制表示-1,则是10000001 如果把这个书用16位二进

js实现浮点数保留两位小数代码

js实现浮点数保留两位小数代码:过浮点数小数点后面的数字太长的话,可能需要进行截取操作,下面是一段这样的实例代码和大家分享一下.代码如下: var num=3.1415926; console.log(num.toFixed(2)) 以上代码比较简单,这里就多介绍了,具体可以参阅javascript的Number对象的toFixed()方法一章节. 原文地址是:http://www.softwhy.com/forum.php?mod=viewthread&tid=11735 更多内容可以参阅:h

Extjs下拉树代码测试总结

http://blog.csdn.net/kunoy/article/details/8067801 首先主要代码源自网络,对那些无私的奉献者表示感谢! 笔者对这些代码做了二次修改,并总结如下: Extjs3.x版本下拉树代码: [javascript] view plaincopy Ext.ux.TreeCombo = Ext.extend(Ext.form.ComboBox, { constructor : function(cfg) { cfg = cfg || {}; Ext.ux.Tr

线段树-代码实现细节与技巧

转载于:杨乐 见大师哥博客:线段树-代码实现细节与技巧

数据处理等待效果实例代码

数据处理等待效果实例代码:在很多网站有数据处理等待效果,比如当数据正在加载或者其他处理活动的时候,会有一个特别的页面或者图标来说明数据正在处理,这样更加人性化,下面是一段代码片段,希望能够给大家带来一定的帮助.代码如下: $.ajax({ url:"url", data:dates, beforeSend:function(){ var h=document.body.clientHeight; $("<div class=\"datagrid-mask\&q