这个问题的解决方案记录在这里,包括这个小gem:
CREATE FUNCTION dbo.Split (@sep char(1), @s varchar(512))RETURNS tableASRETURN ( 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 )



