Tato otázka je duplikátem několika dalších, ale některé z přijatých odpovědí jsou stále neefektivní smyčky WHILE nebo rekurzivní CTE. Existují tři způsoby, jak dosáhnout rozdělení, které nezničí výkon:
-
Tabulka čísel / Tally Table:http://www.sqlservercentral.com/articles/Tally +Tabulka/72993/ (vyžadována bezplatná registrace)
-
XML:https://www.simple-talk.com/blogs/2012/01/05/using-xml-to-pass-lists-as-parameters-in-sql-server/
-
SQLCLR:existuje mnoho příkladů tohoto na mnoha webech, ale nejlepší (a nejjednodušší) sázka je buď chytit ten, který je uveden ve výše uvedeném článku o tabulkách čísel / Tally, NEBO stačí nainstalovat SQL#(SQLsharp) (Jsem autorem SQL#, ale String_Split a String_Split4k jsou ve verzi Free).