惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
aimingoo的专栏
aimingoo的专栏
Martin Fowler
Martin Fowler
C
Check Point Blog
G
Google Developers Blog
V
Visual Studio Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Google DeepMind News
Google DeepMind News
人人都是产品经理
人人都是产品经理
有赞技术团队
有赞技术团队
MongoDB | Blog
MongoDB | Blog
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
大猫的无限游戏
大猫的无限游戏
D
Docker
Hugging Face - Blog
Hugging Face - Blog
The GitHub Blog
The GitHub Blog
博客园 - 三生石上(FineUI控件)
A
About on SuperTechFans
Recent Announcements
Recent Announcements
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
阮一峰的网络日志
阮一峰的网络日志
Stack Overflow Blog
Stack Overflow Blog
Vercel News
Vercel News

博客园 - 梦飞天蝎

[导入]CCNA认证培训介绍 [导入]硬盘参数解读 [导入]SCSI技术 [导入]常用的硬盘接口类型IDE、SCSI、SATA [导入]SCSI卡(图解) [导入]什么是RAID控制器 [导入]微软Office InfoPath 2003概述(转贴) [导入]关于在MOSS的编辑或新建页面隐藏栏 [导入]FTP两种传输模式小结 [导入]sp_unprepare是做什么用的 [导入]left join 的 右表 加条件 某个字段 is not null 是不是无效啊 [导入]案例入厂前和离职后的旷工都清除掉,但无法清除离职前的旷工记录喔20080304 [导入]SqlServer如何生成动态交叉表查询 [导入]where jzno is not null还可以怎么表达呢 [导入]案例20080220 列出台籍人员全年出勤 [导入]表变量在存储过程中出现了"必须声明变量"的错误,已经声明了啊 [导入]SQL Server字符串处理函数大全 [导入]sql server 的日期转换函数 [导入]SQL数据文件恢复高级篇
[导入]案例做出考勤月报表20080303
梦飞天蝎 · 2008-03-03 · via 博客园 - 梦飞天蝎

-----------------------------------------------------------------------------------------------

drop table a
create table a
(
no VARCHAR(20),
kqrq VARCHAR(20),
jzno VARCHAR(20),
qjxs VARCHAR(20)
)

delete from a

--------------------------------------------
 create procedure sp_split_string
 (
     @string        NVARCHAR(500),
     @stringv2      NVARCHAR(500),
     @stringv3      NVARCHAR(500)
  )
 AS
 BEGIN
     DECLARE @object_no     nvarchar(500)
     DECLARE @object_jzno   nvarchar(500)
     DECLARE @object_qjxs   nvarchar(500)
     DECLARE @object_kqrq   nvarchar(500)
     DECLARE    @i          INT
     DECLARE    @len        INT   
     print @string
     IF (@string IS NULL) OR (LTRIM(@string) = '') 
         RETURN
    
     WHILE CHARINDEX('/',@string) > 0
         BEGIN

                          
             SET @len = LEN(@string)
             SET @i = CHARINDEX('/', @string)
             SET @object_no = @stringv2  
             SET @object_jzno = LEFT(@string, 4)
             SET @object_qjxs = SUBSTRING(@string, 5,@i-1-4) --@i-1 是该单元中的最后一个字符在该单元的位置 LEFT(@string, @i-1)
             SET @object_kqrq = @stringv3

             INSERT INTO a (no,kqrq,jzno,qjxs) VALUES (@object_no,@object_kqrq,@object_jzno,@object_qjxs)   --做修改,改成需要的sql语句即可
             SET @string = RIGHT(@string, @len - @i)
         END

     IF CHARINDEX('/',@string) = 0
     RETURN 

     SET @object_no = @stringv2
     SET @object_jzno = LEFT(@string, 4)
     SET @object_qjxs = SUBSTRING(@string, 5,@i-1-4)
     SET @object_kqrq = @stringv3
     INSERT INTO a (no,kqrq,jzno,qjxs) VALUES (@object_no,@object_kqrq,@object_jzno,@object_qjxs)  --做修改,改成需要的sql语句即可
 END
 go
---------------------------------------------
 


declare   @dav1   as   varchar(50)  
declare   @dav2   as   varchar(10)
declare   @dav3   as   varchar(10)  
 declare   cursor5   cursor   for SELECT jzno,no,kqrq FROM rb200802 where jzno is not null order by no,kqrq 
     
  open cursor5  
   
  fetch   next   from  cursor5   into   @dav1,@dav2,@dav3
 /*检查@@FETCH_STATUS以确定是否还可以继续取数*/  
  while   @@fetch_status=0  
  begin 
     exec sp_split_string @dav1,@dav2,@dav3
 
                     
     fetch   next   from       cursor5   into   @dav1,@dav2,@dav3  
  end   
    
close     cursor5  
deallocate   cursor5

----------------------------------------------------------------------------------------

select * from  a

--------------------------------------------------------------------------------

文章来源:http://bbs.fzonet.com/rcds/ShowPost.asp?ThreadID=1649