MS SQL SERVER

Случайная дата

 

            Дано: база данных «Аптека» в СУБД «MS SQL Server 2005», содержащая таблицу «Кассовые чеки». Нужно заполнить поле «Дата» в таблице «Кассовые чеки» случайными значениями.

Рис. 1. Поля таблицы «Кассовые чеки»

Рис. 1. Поля таблицы «Кассовые чеки»

 

            Для выполнения данной задачи запускаем «MS SQL Server 2005 Management Studio Express», подключаемся к серверу, переходим в раздел «Базы данных – Аптека – Таблицы – Кассовые чеки».

            Чтобы сделать автозаполнение поля «Дата» таблицы нужно написать и выполнить код. Жмем кнопку «Создать запрос», пишем код.

USE Аптека;

DECLARE @counter smallint,

        @Дата smallint,

        @Месяц smallint,

          @Год smallint,

          @ДатаЦеликом SmallDateTime; 

SET @counter = 1;

WHILE @counter <= 5

   BEGIN

      SET @Дата = Round(RAND()*31, 0);

       SET @Месяц = Round(RAND()*12, 0); 

       SET @Год = Round(RAND()*16, 0) + 2000; 

       SET @ДатаЦеликом = CAST(LTRIM(STR(@Дата))+'-'+LTRIM(STR(@Месяц))+'-'+LTRIM(STR(@Год)) AS SmallDateTime);

      INSERT INTO [Кассовые чеки] (Дата)

            VALUES (@ДатаЦеликом)

      SET @counter = @counter + 1

   END;

            Даты генерируются в пределах от 1 до 31, месяцы от 1 до 12, а год от 2000 до 2016. Очень важно результат рандомизации потом привести к формату поля «Дата». Для этого можно использовать функцию «CAST».

Рис. 2. Таблица «Кассовые чеки», с заполненным полем «Дата»

 


База данных, компании и юр. лица г. Уфа
База данных, компании и юр. лица г. Уфа


База ЖЖ блогов ( 3907 площадок ) для тИЦ + руководство
База ЖЖ блогов ( 3907 площадок ) для тИЦ + руководство


База данных авто (марки, модели, модификации) 2015 год
База данных авто (марки, модели, модификации) 2015 год