Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да вмъкнете няколко реда в таблица въз основа на диапазон от числа

Можете да използвате таблица с числа, ако имате такава, използвайте master.dbo.spt_values ако искате такъв, който има стойности до 2048 г., или създайте свой собствен. В този случай можете да използвате 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;

Въпреки че, тъй като това започва от нула, ще получите 21 реда като резултат



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Преименувайте ограничение CHECK в SQL Server с помощта на T-SQL

  2. TSQL изберете във Temp таблица от динамичен sql

  3. Защо индексираните изгледи не могат да имат агрегат MAX()?

  4. Динамично създаване на колони sql

  5. SQLServer - Как да намеря зависими таблици в моята таблица?