如何在自定义 SQL 中通过参数传递多个字符串。是否有办法将逗号分隔值传入参数并在自定义 SQL 中使用该参数?
下面的查询适用于 SQL for Oracle。
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)
下面的查询适用于 SQL for Microsoft SQL Server。
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

We use three kinds of cookies on our websites: required, functional, and advertising. You can choose whether functional and advertising cookies apply. Click on the different cookie categories to find out more about each category and to change the default settings.
Privacy Statement
Required cookies are necessary for basic website functionality. Some examples include: session cookies needed to transmit the website, authentication cookies, and security cookies.
Functional cookies enhance functions, performance, and services on the website. Some examples include: cookies used to analyze site traffic, cookies used for market research, and cookies used to display advertising that is not directed to a particular individual.
Advertising cookies track activity across websites in order to understand a viewer’s interests, and direct them specific marketing. Some examples include: cookies used for remarketing, or interest-based advertising.