Bạn có thể sử dụng bảng số nếu có, hãy sử dụng master.dbo.spt_values
nếu bạn muốn một cái có giá trị đến năm 2048, hoặc tạo một cái của riêng bạn. Trong trường hợp này, bạn có thể sử dụng master.dbo.spt_values
:
DECLARE @val AS INT=20, @val2 AS VARCHAR(50);
DECLARE @Date AS DATETIME = CONVERT(DATETIME,'02-05-2016');
SET @val2 = 'abc'
INSERT INTO dbo.YourTable
SELECT @val2, DATEADD(DAY,number,@Date)
FROM master.dbo.spt_values
WHERE type = 'P'
AND number <= @val;
Mặc dù điều này bắt đầu từ 0, kết quả là bạn sẽ nhận được 21 hàng