Ниже я добавил SQL-запрос.
Я хотел получить список записей, соответствующих условию. Я передаю целочисленные значения в параметры @ClassID
и @SectionID
. Проблема в том, что ce.Class_ID
и ce.Section_ID
представляют собой списки строковых значений, разделенных запятыми.
SELECT ce.ID AS CircularEntryCount
FROM dbo.CircularEntry ce
WHERE ce.AcademicYearID = 1
AND (ce.Circular_Date = @CurrentDate OR CAST(ce.Created_Date AS date) = @CurrentDate)
AND (ce.CircularApplicableForID = 1 OR ce.CircularApplicableForID = 3)
AND (ce.Class_ID = @ClassID OR ce.Class_ID = '0')
AND (ce.Section_ID = @SectionID OR ce.Section_ID = '0')
PS: я использовал функцию разделения строк для разделения значений на отдельные столбцы и сравнил то же самое с параметрами, но это показывает.
Ошибка преобразования типа данных nvarchar в bigint
(
@List nvarchar(2000),
@SplitOn nvarchar(1)
)
RETURNS @RtnValue table (
Id int identity(1,1),
Value nvarchar(100)
)
AS
BEGIN
While (Charindex(@SplitOn,@List)>0)
Begin
Insert Into @RtnValue (value)
Select
Value = ltrim(rtrim(Substring(@List,1,Charindex(@SplitOn,@List)-1)))
Set @List = Substring(@List,Charindex(@SplitOn,@List)+len(@SplitOn),len(@List))
End
Insert Into @RtnValue (Value)
Select Value = ltrim(rtrim(@List))
Return
EN