1 2 3 4 5 6 7 8 9 10 11 12 13
| WITH
CTE_RANDOM (Random, Indice) AS
(
SELECT REVERSE(REPLACE(SUBSTRING(CAST(ABS(CAST(CAST(NEWID() AS VARBINARY) AS BIGINT)) AS VARCHAR), CAST(RAND() * 10 AS INT), 10), '0', CAST(CAST(RAND() * 10 AS TINYINT) AS CHAR(1)))), 1
UNION ALL
SELECT REVERSE(REPLACE(SUBSTRING(CAST(ABS(CAST(CAST(NEWID() AS VARBINARY) AS BIGINT)) AS VARCHAR), CAST(RAND() * 10 AS INT), 10), '0', CAST(CAST(RAND() * 10 AS TINYINT) AS CHAR(1)))), Indice + 1
FROM CTE_RANDOM
WHERE Indice < 10000
)
SELECT Random
FROM CTE_RANDOM
WHERE Random NOT LIKE '0%'
OPTION (MAXRECURSION 0) |
Partager