CharIndex函数的应用-存数过程SQL

it2022-11-27  55

set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgo-------创建综合评估表[pr_create_quality_board 循环遍历-游标]--create ALTER

create  PROCEDURE  [dbo].[pr_create_Evaluation22] @objectID nvarchar(1000) --/%生成的评估对象%/as--声明变量 declare @pos int declare @oldPos int declare @tempstr varchar(100)

create table #temp_id ( id int)

set @pos=1set @oldPos=1while @pos<len(@objectID)begin set @pos=charindex(',',@objectID,@oldpos) if @pos>0 begin  set @tempstr=substring(@objectID,@oldpos,@pos-@oldpos)  set @oldpos=@pos+1 end else begin  set @tempstr=substring(@objectID,@oldpos,len(@objectID)-@oldpos+1)  set @pos=len(@objectID) end insert into #temp_id select @tempstrend

select * from #temp_idgodeclare @date datetimeset @date=getdate()exec pr_create_Evaluation22 '1,2,3,4'

--print  Convert(char(10),GetDate(),120)   //这个是获取(年月日)的

这个例子用于 select * from fp_user where userid in (1,2,3,4)1,2,3,4在存储过程作为传进的参数,用IN 语句,会当做整个字符串 无法解析,单个值,利用分割字符串,创建临时表的功能查询 select * from fp_user where userid in (select  id from  #temp_id) 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/yingpp/archive/2009/09/28/1575410.html

最新回复(0)