USE [DoctorInfo]
GO
/****** Object: UserDefinedFunction [dbo].[DoctorMultiQuery] Script Date: 12/12/2015 20:36:41 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER FUNCTION [dbo].[DoctorMultiQuery](
@splitstring NVARCHAR(4000),
@querystring NVARCHAR(4000)
)
RETURNS int
AS
BEGIN
DECLARE @result INT,@index1 INT, @index2 INT ,@sourcestring nvarchar(9),@valuestring nvarchar(9)
SET @result=0
IF(charindex(',',@splitstring)=0)
BEGIN
SET @sourcestring=@splitstring
IF(charindex(',',@querystring)=0)
BEGIN
IF(@splitstring=@querystring)
BEGIN
SET @result=1
END
END
ELSE
BEGIN
while(charindex(',',@querystring)<>0)
BEGIN
--第一个','之前的字符串
SET @index2=charindex(',',@querystring)
SET @valuestring=substring(@querystring,1,@index2-1)
IF(@sourcestring=@valuestring)
BEGIN
SET @result=1
BREAK
END
ELSE
BEGIN
--将第一个','后面的字符串重新赋给@ids
set @querystring=stuff(@querystring,1,@index2,'')
--最后一个字符串
if(charindex(',',@querystring)=0)
begin
IF(@sourcestring=@querystring)
BEGIN
SET @result=1
END
END
END
END
END
END
else
begin
while(charindex(',',@splitstring)<>0)
begin
--第一个','之前的字符串
SET @index1=charindex(',',@splitstring)
SET @sourcestring=substring(@splitstring,1,@index1-1)
IF(charindex(',',@querystring)=0)
BEGIN
IF(@sourcestring=@querystring)
BEGIN
SET @result=1
BREAK
END
END
ELSE
BEGIN
while(charindex(',',@querystring)<>0)
BEGIN
--第一个','之前的字符串
SET @index2=charindex(',',@querystring)
SET @valuestring=substring(@querystring,1,@index2-1)
IF(@sourcestring=@valuestring)
BEGIN
SET @result=1
BREAK
END
ELSE
BEGIN
--将第一个','后面的字符串重新赋给@ids
set @querystring=stuff(@querystring,1,@index2,'')
--最后一个字符串
if(charindex(',',@querystring)=0)
begin
IF(@sourcestring=@querystring)
BEGIN
SET @result=1
END
END
END
END
END
IF(@result=1)
BEGIN
BREAK;
END
ELSE
BEGIN
--将第一个','后面的字符串重新赋给@ids
set @splitstring=stuff(@splitstring,1,@index1,'')
--最后一个字符串
if(charindex(',',@splitstring)=0)
begin
SET @sourcestring=@splitstring
IF(charindex(',',@querystring)=0)
BEGIN
IF(@sourcestring=@querystring)
begin
SET @result=1
END
END
ELSE
begin
while(charindex(',',@querystring)<>0)
BEGIN
--第一个','之前的字符串
SET @index2=charindex(',',@querystring)
SET @valuestring=substring(@querystring,1,@index2-1)
IF(@sourcestring=@valuestring)
BEGIN
SET @result=1
BREAK
END
ELSE
BEGIN
--将第一个','后面的字符串重新赋给@ids
set @querystring=stuff(@querystring,1,@index2,'')
--最后一个字符串
if(charindex(',',@querystring)=0)
begin
IF(@sourcestring=@querystring)
BEGIN
SET @result=1
END
END
END
END
END
END
END
END
END
return @result
END