Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS SQL Server > Заполнить случайными значениями поле datetime


Автор: mrbob 13.6.2013, 01:05
Здравствуйте!
Нужно заполнить таблицу случайными значениями.
Вызвало трудность заполнение поля типа datetime.
Код

DECLARE @MyDatetime datetime,
SET @MyDatetime = '01/05/2013 00:01'
INSERT INTO mytable
VALUES (DATEADD (MINUTE, FLOOR(59*RAND()), @MyDatetime))

Так меняются только минуты.
Как сделать что бы часы, дни, месяцы и годы менялись последовательно т.е. минуты будут увеличиваться на случайное значение. Например было 45 минут, а стало 57 минут, потом 17 минут и когда стало 17 час увеличился на один и так дальше т.е. потом например стал 35 минут, а после 5 минут и час снова увеличился еще на 1.
Если такое реализовать не возможно, то подскажите хотя бы как вообще можно заполнить поле datetime случайными значениями.

Автор: Akina 13.6.2013, 08:18
Если тебе, к примеру, надо случайное значение datatime от '01/05/2013 00:01' до '01/05/2013 20:00', то

Код

DECLARE @MyDatetime datetime,
SET @MyDatetimeFrom = '01/05/2013 00:01'
SET @MyDatetimeTo = '01/05/2013 20:00'
INSERT INTO mytable
VALUES (CAST(CAST(@MyDatetimeFrom AS float)+RND()*(CAST(@MyDatetimeTo AS float)-CAST(@MyDatetimeFrom AS float)) AS datetime))

Автор: mrbob 13.6.2013, 12:12
Akina
Спасибо! Это то что надо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)