Запрос с условием - MySQL (220467)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Мне необходимо создать SQL-запрос, который выводил бы только то ПО, срок действия лицензии которого превысил текущую дату. Поле срок действия лицензии имеет тип дата. Я попробовал написать запрос сам
SELECT Programmnoe_obespechenie.Kod_programmy ,Programmnoe_obespechenie.Nazvanie_Programmy,Programmnoe_obespechenie.Versia,Programmnoe_obespechenie.Tip, postavchiki.Nazvanie_firmy,Programmnoe_obespechenie.lizencia,Programmnoe_obespechenie.nomer_liz,Programmnoe_obespechenie.Deystvitelna_do FROM Programmnoe_obespechenie,postavchiki WHERE postavchiki.Kod_postavchika=Programmnoe_obespechenie.Kod_postavchika AND Programmnoe_obespechenie.Deystvitelna_do >= GetDate()
но он выводит ошибку: "Неопределенная функция GETDATE()". Помогите, пожалуйста!

Решение задачи: «Запрос с условием»

textual
Листинг программы
>  UNIX_TIMESTAMP() - 2592000 -- 30 * 24 *3600 (30 дней время в секундах)

Объяснение кода листинга программы

  1. UNIX_TIMESTAMP() - функция, которая возвращает текущую дату и время в формате Unix timestamp, т.е. количество секунд, прошедших с начала эпохи Unix (1 января 1970 года, 00:00:00 GMT).
  2. - 2592000 - вычитаем из текущего Unix timestamp значение 2592000, которое равно 30 дням в секундах.
  3. -- 30 * 24 *3600 - вычитаем из предыдущего значения 30 дней, умноженных на 24 часа в сутках, умноженных на 3600 секунд в часе. Это дает нам количество секунд, прошедших 30 дней назад от текущей даты и времени. В итоге получается Unix timestamp, который представляет собой количество секунд, прошедших 30 дней назад от текущей даты и времени.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.917 из 5