CREATE FUNCTION [dbo].[func_1]
(
@ListNum AS nvarchar(MAX)
)
RETURNS @t TABLE
(
col_1 nvarchar(MAX)
)
AS
BEGIN
INSERT @t
SELECT col_1
FROM table_name
WHERE col_2 IN (@ListNum)
RETURN
END
Когда я передаю только одно значение в paramater (например: 1), функция правильно работает, но как передать несколько значений (например: 1,2,3,4,5). Я получаю следующую ошибку:Множество значений по одному параметру
Procedure execution failed
42000 - [SQL Server]Error converting data type nvarchar to bigint.
Есть ли простой способ решить эту проблему?
Вы должны котировки – HoneyBadger
Это не будет работать, потому что вы получите 'ВЫБРАТЬ col_1 FROM table_name WHERE col_2 IN ('1,2,3,4,5')', и вы, вероятно, хотите 'Select col_1 FROM table_name WHERE col_2 IN (1,2,3,4,5) ' – lad2025
Я забыл упомянуть, что col_2 - это bigint. Куда мне помещать кавычки? –