Я получил эту функцию от кого-то здесь:Как я могу назвать эту функцию в sproc?
create FUNCTION [dbo].[fnSplitString] (@s varchar(512),@sep char(1))
RETURNS table
AS
RETURN (
WITH Pieces(pn, start, stop) AS (
SELECT 1, 1, CHARINDEX(@sep, @s)
UNION ALL
SELECT pn + 1, stop + 1, CHARINDEX(@sep, @s, stop + 1)
FROM Pieces
WHERE stop > 0
)
SELECT pn,
SUBSTRING(@s, start, CASE WHEN stop > 0 THEN stop-start ELSE 512 END) AS s
FROM Pieces
)
Как правило, в котором пункты sprocs Я называю этот тип функции, как это:
WHERE u.[Fleet] IN (SELECT [VALUE] FROM dbo.udf_GenerateVarcharTableFromStringList(@Fleets, ','))
Как я могу идти о вызове функции выше в аналогичным образом?
Спасибо!
Вы также можете выбрать список в таблице, а затем выбрать таблицу. Функции в предложении where обычно оцениваются с каждой строкой. – StingyJack