大家好,
我除了在存储过程无效的对象"转换(VARCHAR @ array_valueID)"
ALTER PROCEDURE [dbo].[spGetQFSearchRecord]
@DatasetID VARCHAR(MAX),
@Tags VARCHAR(MAX)
AS
IF(@DatasetID<>'')
IF(@Tags<>'')
BEGIN
CREATE TABLE #temp (DatasetID INT)
DECLARE @separator CHAR(1)
SET @separator=','
DECLARE @ArrayID VARCHAR(MAX)
DECLARE @Array VARCHAR(MAX)
SET @ArrayID =@DatasetID --array for datasetID
SET @Array=@Tags --array for Tags
DECLARE @separator_position INT -- This is used to locate each separator character
DECLARE @array_value VARCHAR(1000) -- this holds each array value as it is returned
DECLARE @array_valueID VARCHAR(1000)
SET @array = @array + @separator
SET @arrayID=@arrayID+@separator
--SELECT @array_valueID = LEFT(@ArrayID, @separator_position - 1)
WHILE PATINDEX('%' + @separator + '%', @arrayID)<>0
BEGIN
SELECT @separator_position = PATINDEX('%' + @separator + '%',@arrayID)
SELECT @array_valueID = LEFT(@arrayID, @separator_position - 1)
WHILE PATINDEX('%' + @separator + '%', @array) <> 0
BEGIN
SELECT @separator_position = PATINDEX('%' + @separator + '%',@array)
SELECT @array_value = LEFT(@array, @separator_position - 1)
INSERT INTO #temp(DatasetID)
SELECT VisitorID FROM "CONVERT(varchar,@array_valueID)" WHERE DESCRIPTION LIKE '%'+ CONVERT(varchar,@array_value) +'%'
END
END
END
GO
请帮助我。
我的第一个参数是可变数目的ID即表名
datasetID和第二个参数是标记的意思是搜索,这是逗号分隔的文本
例如 -
DatasetID - "12,45,25,65,45,21"
标签 - "印度,普纳,英国"