SQL, Auxiliary table of numbers

前端 未结 7 2162
自闭症患者
自闭症患者 2020-11-21 22:24

For certain types of sql queries, an auxiliary table of numbers can be very useful. It may be created as a table with as many rows as you need for a particular task or as a

7条回答
  •  萌比男神i
    2020-11-21 23:01

    This view is super fast and contains all positive int values.

    CREATE VIEW dbo.Numbers
    WITH SCHEMABINDING
    AS
        WITH Int1(z) AS (SELECT 0 UNION ALL SELECT 0)
        , Int2(z) AS (SELECT 0 FROM Int1 a CROSS JOIN Int1 b)
        , Int4(z) AS (SELECT 0 FROM Int2 a CROSS JOIN Int2 b)
        , Int8(z) AS (SELECT 0 FROM Int4 a CROSS JOIN Int4 b)
        , Int16(z) AS (SELECT 0 FROM Int8 a CROSS JOIN Int8 b)
        , Int32(z) AS (SELECT TOP 2147483647 0 FROM Int16 a CROSS JOIN Int16 b)
        SELECT ROW_NUMBER() OVER (ORDER BY z) AS n
        FROM Int32
    GO
    

提交回复
热议问题