Преобразование списка строк в список Int в SQL
У меня есть nvarchar (MAX) в моей хранимой процедуре, которая содержит список значений int, я сделал это так, какневозможно передать int list моей хранимой процедуре, но теперь у меня проблема, так как мой тип данных int и я хочу сравнить список строк. Есть ли способ, которым я могу сделать то же самое?
---myquerry----where status in (@statuslist)
но список состояний теперь содержит строковые значения, а не int, так как конвертировать их в INT?
Обновить:
USE [Database]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[SP]
(
@FromDate datetime = 0,
@ToDate datetime = 0,
@ID int=0,
@List nvarchar(MAX) //This is the List which has string ids//
)
КАК УСТАНОВЛЕНО ВЫКЛЮЧЕНО; ЗАЯВИТЬ @sql nvarchar (MAX), @paramlist nvarchar (MAX)
SET @sql = 'SELECT ------ and Code in(@xList)
and -------------'
SELECT @paramlist = '@xFromDate datetime,@xToDate datetime,@xId int,@xList nvarchar(MAX)'
EXEC sp_executesql @sql, @paramlist,
@xFromDate = @FromDate ,@xToDate=@ToDate,@xId=@ID,@xList=@List
PRINT @sql
Поэтому, когда я реализую эту функцию, которая разделяется, я не могу указать символ или разделитель, поскольку он не принимает его как(@Список,',').
или же( ' '+ @ List +',').