我从这里的某人那里得到了这个函数:
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子句中,我像这样调用这种类型的函数:
WHERE u.[Fleet] IN (SELECT [VALUE] FROM dbo.udf_GenerateVarcharTableFromStringList(@Fleets, ',')) 如何以类似的方式调用上述函数?
谢谢!
发布于 2010-09-09 00:42:53
您可能希望将值替换为s。
https://stackoverflow.com/questions/3669973
复制相似问题