sql 分割字符串


create proc test
@SiftValue varchar(max)='Dim1:1,2%Dim2:3,4%Dim3:5,6'
as
set @SiftValue = REPLACE(@SiftValue,'Dim1:','')
set @SiftValue = REPLACE(@SiftValue,'Dim2:','')
set @SiftValue = REPLACE(@SiftValue,'Dim3:','')
declare @PersonCondition varchar(max) -----人维度
declare @MissionCondition varchar(max)-----任务维度
declare @TimeCondition varchar(max)   -----时间维度

 if @SiftValue <> ''
 Begin
    if CHARINDEX('%',@SiftValue,1)>0
     Begin
       set @PersonCondition= SUBSTRING(@SiftValue,1,CHARINDEX('%',@SiftValue,1)-1) 
       set @SiftValue= SUBSTRING(@SiftValue,CHARINDEX('%',@SiftValue,1)+1,LEN(@SiftValue)-CHARINDEX('%',@SiftValue,1))
       set @MissionCondition  =SUBSTRING(@SiftValue,1,CHARINDEX('%',@SiftValue,1)-1) 
       set @SiftValue= SUBSTRING(@SiftValue,CHARINDEX('%',@SiftValue,1)+1,LEN(@SiftValue)-CHARINDEX('%',@SiftValue,1))
       set @TimeCondition=@SiftValue
       print @PersonCondition
       print @MissionCondition
       print @TimeCondition
     End
 End


exec   test

posted @ 2012-06-27 08:28  gy_51Testing  阅读(269)  评论(0编辑  收藏  举报
【推荐】 程序员网址大全  |   EF CodeFirst  |  百度地图.NET  |  MyNPOI  |  开源  |  我的皮肤  |  ASP.NET MVC4  |  前端提升   |  LINQ   |  WCF   |  EasyUI  |