Я создаю 14-значное случайное число в SQL Server 2008 R2, используя следующий запрос:
select FLOOR(RAND() * POWER(CAST(10 as BIGINT), 14))
Теперь мне нужно преобразовать это число в varchar, для чего я использую этот запрос:
select
convert(varchar(50), FLOOR(RAND() * POWER(CAST(10 as BIGINT), 14)))
Он преобразует число, но в форме 6.74151e+013
.
Итак, я попробовал это:
select
convert(varchar(50), FLOOR(RAND() * POWER(CAST(10 as BIGINT), 5))) +
convert(varchar(50), FLOOR(RAND() * POWER(CAST(10 as BIGINT), 5))) +
convert(varchar(50), FLOOR(RAND() * POWER(CAST(10 as BIGINT), 4)))
Он создает 14-значный varchar, но я чувствую, что может быть более короткий способ сделать это. Я пробовал и другие способы, но они возвращают ответ в формате 6.74151e+013
, который я не могу использовать.
Пожалуйста помоги.
РЕДАКТИРОВАТЬ: Если есть другой способ создания 14-значной случайной числовой строки напрямую (т.е. без использования rand()), то также сообщите об этом.