Skip to content

Instantly share code, notes, and snippets.

@kiwipiet
Created August 19, 2014 04:22
Show Gist options
  • Save kiwipiet/9acb49708f31eeb2ca93 to your computer and use it in GitHub Desktop.
Save kiwipiet/9acb49708f31eeb2ca93 to your computer and use it in GitHub Desktop.
Get a sequence of integer numbers, from 1 to @count
CREATE FUNCTION [dbo].[GetIntegerSequence]
(
@count INT
)
RETURNS TABLE
WITH SCHEMABINDING
AS RETURN
(
WITH C0 (c) AS (SELECT 1 UNION ALL SELECT 1)
,C1 (c) AS (SELECT 1 FROM C0 AS A CROSS JOIN C0 AS B)
,C2 (c) AS (SELECT 1 FROM C1 AS A CROSS JOIN C1 AS B)
,C3 (c) AS (SELECT 1 FROM C2 AS A CROSS JOIN C2 AS B)
,C4 (c) AS (SELECT 1 FROM C3 AS A CROSS JOIN C3 AS B)
,C5 (c) AS (SELECT 1 FROM C4 AS A CROSS JOIN C4 AS B)
,C6 (c) AS (SELECT 1 FROM C5 AS A CROSS JOIN C5 AS B)
SELECT TOP(@count) ROW_NUMBER() OVER (ORDER BY C6.c) AS [Id]
FROM C6
)
GO
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment