sql SQL随机数据加上文件2中的表的随机数据。也可以使用codeplex中的数据生成器:http://sqldatagenerator.codeplex.com/

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql SQL随机数据加上文件2中的表的随机数据。也可以使用codeplex中的数据生成器:http://sqldatagenerator.codeplex.com/相关的知识,希望对你有一定的参考价值。

USE [dbTest]
GO

set nocount on
go
SET ANSI_PADDING OFF
GO



DECLARE @count INT 
SET @count = 1

WHILE @count <= 100
BEGIN
INSERT INTO dbo.RandomData 
    SELECT    @count, 
            CASE WHEN DATEPART(MILLISECOND, GETDATE()) >= 500 THEN 0 ELSE 1 END [SomeBit], 
            CHAR((ABS(CHECKSUM(NEWID())) % 26) + 97) + CHAR((ABS(CHECKSUM(NEWID())) % 26) + 97) + 
            CHAR((ABS(CHECKSUM(NEWID())) % 26) + 97) + CHAR((ABS(CHECKSUM(NEWID())) % 26) + 97) + 
            CHAR((ABS(CHECKSUM(NEWID())) % 26) + 97) + CHAR((ABS(CHECKSUM(NEWID())) % 26) + 97) + 
            CHAR((ABS(CHECKSUM(NEWID())) % 26) + 97) + CHAR((ABS(CHECKSUM(NEWID())) % 26) + 97) + 
            CHAR((ABS(CHECKSUM(NEWID())) % 26) + 97) + CHAR((ABS(CHECKSUM(NEWID())) % 26) + 97) [SomeVarchar], 
            DATEADD(MILLISECOND, (ABS(CHECKSUM(NEWID())) % 6000) * -1, 
                DATEADD(MINUTE, (ABS(CHECKSUM(NEWID())) % 1000000) * -1, GETDATE())) [SomeDateTime], 
            (ABS(CHECKSUM(NEWID())) % 100001) + ((ABS(CHECKSUM(NEWID())) % 100001) * 0.00001) [SomeNumeric]
    SET @count += 1
END
USE fg_test
GO
set nocount on
go
DECLARE @count INT 
SET @count = 1

WHILE @count <= 50000
begin
DECLARE @intDay INT
DECLARE @intMonth INT
declare @strDate varchar
declare @dd date
SELECT @intMonth = CAST(RAND() * 12 + 1 as INT)
SELECT @intDay = CAST(RAND() * 28 + 1 as INT)
select @strDate = CAST(@intMonth as varchar) +  '/' + CAST(@intDay as varchar) + '/2005';
set @dd = cast((CAST(@intMonth as varchar) +  '/' + CAST(@intDay as varchar) + '/2005') as date)
print @dd
INSERT INTO dbo.RandomData 
    SELECT    @count, 
            CASE WHEN DATEPART(MILLISECOND, GETDATE()) >= 500 THEN 0 ELSE 1 END [SomeBit], 
            CHAR((ABS(CHECKSUM(NEWID())) % 26) + 97) + CHAR((ABS(CHECKSUM(NEWID())) % 26) + 97) + 
            CHAR((ABS(CHECKSUM(NEWID())) % 26) + 97) + CHAR((ABS(CHECKSUM(NEWID())) % 26) + 97) + 
            CHAR((ABS(CHECKSUM(NEWID())) % 26) + 97) + CHAR((ABS(CHECKSUM(NEWID())) % 26) + 97) + 
            CHAR((ABS(CHECKSUM(NEWID())) % 26) + 97) + CHAR((ABS(CHECKSUM(NEWID())) % 26) + 97) + 
            CHAR((ABS(CHECKSUM(NEWID())) % 26) + 97) + CHAR((ABS(CHECKSUM(NEWID())) % 26) + 97) [SomeVarchar], 
            @dd [SomeDateTime], 
            (ABS(CHECKSUM(NEWID())) % 100001) + ((ABS(CHECKSUM(NEWID())) % 100001) * 0.00001) [SomeNumeric]
    SET @count += 1
END
BEGIN
-- get a random integer between 1 and 28
DECLARE @totalviews INT
SELECT @totalviews = CAST(RAND() * 28 + 1 as INT)
print(@totalviews)
END
BEGIN
-- get a random integer between 3 and 7 (3 + 5 - 1)
DECLARE @totalviews INT
SELECT @totalviews = CAST(RAND() * 5 + 3 as INT)
print(@totalviews)
END

BEGIN
-- get a random varchar ascii char 32 to 128
DECLARE @videoname VARCHAR(160)
DECLARE @length INT
SELECT @videoname = ''
SET @length = CAST(RAND() * 160 as INT)
WHILE @length <> 0
    BEGIN
    SELECT @videoname = @videoname + CHAR(CAST(RAND() * 96 + 32 as INT))
    SET @length = @length - 1
    END
print(@videoname)
END

BEGIN
-- get a random datetime +/- 365 days
DECLARE @uploadtime DATETIME
SET @uploadtime = GETDATE() + (365 * 2 * RAND() - 365)
print(@uploadtime)
END
USE [dbTest2]
GO

/****** Object:  Table [dbo].[RandomData]    Script Date: 6/14/2015 1:22:48 PM ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[RandomData](
	[RowId] [int] IDENTITY(1,1) NOT NULL,
	[SomeInt] [int] NULL,
	[SomeBit] [bit] NULL,
	[SomeVarchar] [varchar](10) NULL,
	[SomeDateTime] [datetime] NULL,
	[SomeNumeric] [numeric](16, 2) NULL
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO



DECLARE @count INT 
SET @count = 1

WHILE @count <= 100
BEGIN
INSERT INTO dbo.RandomData 
    SELECT    @count, 
            CASE WHEN DATEPART(MILLISECOND, GETDATE()) >= 500 THEN 0 ELSE 1 END [SomeBit], 
            CHAR((ABS(CHECKSUM(NEWID())) % 26) + 97) + CHAR((ABS(CHECKSUM(NEWID())) % 26) + 97) + 
            CHAR((ABS(CHECKSUM(NEWID())) % 26) + 97) + CHAR((ABS(CHECKSUM(NEWID())) % 26) + 97) + 
            CHAR((ABS(CHECKSUM(NEWID())) % 26) + 97) + CHAR((ABS(CHECKSUM(NEWID())) % 26) + 97) + 
            CHAR((ABS(CHECKSUM(NEWID())) % 26) + 97) + CHAR((ABS(CHECKSUM(NEWID())) % 26) + 97) + 
            CHAR((ABS(CHECKSUM(NEWID())) % 26) + 97) + CHAR((ABS(CHECKSUM(NEWID())) % 26) + 97) [SomeVarchar], 
            DATEADD(MILLISECOND, (ABS(CHECKSUM(NEWID())) % 6000) * -1, 
                DATEADD(MINUTE, (ABS(CHECKSUM(NEWID())) % 1000000) * -1, GETDATE())) [SomeDateTime], 
            (ABS(CHECKSUM(NEWID())) % 100001) + ((ABS(CHECKSUM(NEWID())) % 100001) * 0.00001) [SomeNumeric]
    SET @count += 1
END

以上是关于sql SQL随机数据加上文件2中的表的随机数据。也可以使用codeplex中的数据生成器:http://sqldatagenerator.codeplex.com/的主要内容,如果未能解决你的问题,请参考以下文章

sql 一个表里已经 有20行数据 ,然后要从另一个表里随机抽取20条 覆盖掉之前的数据

sql 一对多关系随机查一条

使用sql语句在mysql的表中随机获取数据

将随机数据插入到 MySql 中的表中

在 sql3 中随机播放大表

hive sql 优化