Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --- 10000000 случайных чисел, за 34 секунд
- USE [Sandbox]
- IF OBJECT_ID (N'dbo.[Random Numbers]', N'U') IS NULL
- CREATE TABLE [dbo].[Random Numbers](
- [RESULT] [INT] NOT NULL
- ) ON [PRIMARY]
- TRUNCATE TABLE dbo.[Random Numbers];
- WITH
- -- Список простых чисел [0..9]
- SimpleDigits AS (
- SELECT 0 AS NUMBER
- UNION SELECT 1
- UNION SELECT 2
- UNION SELECT 3
- UNION SELECT 4
- UNION SELECT 5
- UNION SELECT 6
- UNION SELECT 7
- UNION SELECT 8
- UNION SELECT 9
- ),
- -- Список чисел [0..10000000]
- Digits AS (
- SELECT
- (Millions.NUMBER * 1000000)
- + (HundredThousands.NUMBER * 100000)
- + (TenThousands.NUMBER * 10000)
- + (TenHundreds.NUMBER * 1000)
- + (Hundreds.NUMBER * 100)
- + (Tens.NUMBER * 10)
- + Ones.NUMBER AS NUMBER
- FROM SimpleDigits AS Ones
- CROSS JOIN SimpleDigits AS Tens
- CROSS JOIN SimpleDigits AS Hundreds
- CROSS JOIN SimpleDigits AS TenHundreds
- CROSS JOIN SimpleDigits AS TenThousands
- CROSS JOIN SimpleDigits AS HundredThousands
- CROSS JOIN SimpleDigits AS Millions
- )
- -- Добавляем числа в таблицу
- INSERT dbo.[Random Numbers](RESULT)
- SELECT ABS(CHECKSUM(NewId())) % 100000 AS RESULT
- FROM Digits
- WHERE NUMBER < 10000000
Add Comment
Please, Sign In to add comment