사용자 지정 SQL의 매개 변수를 통해 여러 문자열을 전달하는 방법. 쉼표로 구분된 값을 매개 변수로 전달하고 사용자 지정 SQL에서 사용하는 방법이 있습니까?
아래 쿼리는 Oracle용 SQL에 적용됩니다.
select * from tablename where name in (
select regexp_substr(<Parameters.Parameter1>,'[^,]+', 1, level) from dual
connect by regexp_substr(<Parameters.Parameter1>, '[^,]+', 1, level) is not null)
아래 쿼리는 Microsoft SQL Server용 SQL에 적용됩니다.
SELECT *
FROM Test.dbo.tablename a
JOIN (
(SELECT Number = ROW_NUMBER() OVER (ORDER BY Number),
Item FROM (SELECT Number, Item = LTRIM(RTRIM(SUBSTRING(<Parameters.Parameter1>, Number,
CHARINDEX(',', <Parameters.Parameter1> + ',', Number) - Number)))
FROM (SELECT ROW_NUMBER() OVER (ORDER BY s1.[object_id])
FROM sys.all_objects AS s1 CROSS APPLY sys.all_objects) AS n(Number)
WHERE Number <= CONVERT(INT, LEN(<Parameters.Parameter1>))
AND SUBSTRING(',' + <Parameters.Parameter1>, Number, 1) = ','
) AS y)) x on a.colname = x.Item
001456708