Чтобы сгенерировать случайное число для каждой строки в T-SQL (Transact-SQL), вы можете использовать различные методы. Вот несколько подходов:
-
Функция NEWID:
Вы можете использовать функцию NEWID для создания уникального идентификатора (GUID) для каждой строки, а затем преобразовать его в числовое значение. Вот пример:SELECT ABS(CHECKSUM(NEWID())) AS RandomNumber FROM YourTable; -
Функция СЛЧИС:
Функция СЛЧИС генерирует случайное значение с плавающей запятой от 0 до 1. Вы можете умножить его на диапазон и преобразовать в целое число, чтобы получить случайное число. Вот пример:SELECT CAST(RAND() * 1000 AS INT) AS RandomNumber FROM YourTable; -
Функция CRYPT_GEN_RANDOM:
Если вы используете SQL Server 2012 или более поздние версии, вы можете использовать функцию CRYPT_GEN_RANDOM для генерации криптографически безопасных случайных чисел. Вот пример:SELECT CAST(CRYPT_GEN_RANDOM(4) AS INT) AS RandomNumber FROM YourTable; -
Предложение TABLESAMPLE:
Предложение TABLESAMPLE позволяет вам выбрать процент строк из таблицы. Вы можете объединить его с функцией КОНТРОЛЬНАЯ СУММА(NEWID()), чтобы получить случайное число для каждой строки. Вот пример:SELECT ABS(CHECKSUM(NEWID())) AS RandomNumber FROM YourTable TABLESAMPLE (50 PERCENT); -
Функция ROW_NUMBER с ORDER BY NEWID():
Вы можете использовать функцию ROW_NUMBER вместе с предложением ORDER BY NEWID(), чтобы присвоить порядковый номер каждой строке в случайном порядке. Вот пример:SELECT ROW_NUMBER() OVER (ORDER BY NEWID()) AS RandomNumber FROM YourTable;