先新建一個表
IF OBJECT_ID('dbo.num', 'U')IS NOT NULL DROP TABLE dbo.num;
CREATE TABLE dbo.num(num INT NOT NULL PRIMARY KEY);
INSERT INTO dbo.num(num)
VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
如果要生成1-1000的整數序列。可以對num表的三個實例進行交叉連接,每個實例代表10的不同次冪(1, 10, 100),每個實例的數字誠意它所代表的10的冪,再把結果加起來,最後加1.
SELECT D3.num * 100 + D2.num * 10 + D1.num + 1 as n
FROM num as D1
CROSS JOIN num as D2
CROSS JOIN num as D3
order by n;