waf*_*971 3 sql t-sql sql-server date
你能帮忙吗?
我有一个到达日期列,需要5000行添加到2010年的随机日期.
例如:01/01/2010,25/8/2010,03/05/2010,31/12/2010,等
我认为这是一个INSERT声明,但我不确定.
谢谢
韦恩
USE Occupancy
CREATE TABLE Book
(BookNumber varchar(30),
ArrivalDate int)
DECLARE @BookNumber varchar(30)
DECLARE @ArrivalDate int
SET @BookNumber = 1
SET @ArrivalDate = 0
WHILE @BookNumber <= 5000
WHILE @ArrivalDate <= 5000
BEGIN
INSERT INTO Book (BookNumber,ArrivalDate)
SELECT 'B' + Right ('00000000' + CAST(@BookNumber AS varchar(30)),8),
DATEADD(day, CAST(RAND() * 365 as int), '2010-1-1')
SET @BookNumber = @BookNumber + 1
SET @ArrivalDate = @ArrivalDate + 1
END
Run Code Online (Sandbox Code Playgroud)
DECLARE @counter int
SET @counter = 0
WHILE @counter < 5000
BEGIN
INSERT INTO myTable (arrivalDate)
SELECT DATEADD(day, CAST(RAND() * 365 as int), '2010-1-1')
SET @counter = @counter + 1
END
Run Code Online (Sandbox Code Playgroud)
如果你有一个数字表或生成器,你可以避免循环:
INSERT INTO myTable (arrivalDate)
SELECT DATEADD(day, ABS(CHECKSUM(NEWID()) % 365), '2010-1-1')
FROM ( GenerateRowNumbers(5000, 1) ) t
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
118 次 |
| 最近记录: |