Запрос с условием - MySQL (220467)
Формулировка задачи:
Здравствуйте! Мне необходимо создать SQL-запрос, который выводил бы только то ПО, срок действия лицензии которого превысил текущую дату. Поле срок действия лицензии имеет тип дата.
Я попробовал написать запрос сам
но он выводит ошибку: "Неопределенная функция GETDATE()". Помогите, пожалуйста!
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()
Решение задачи: «Запрос с условием»
textual
Листинг программы
> UNIX_TIMESTAMP() - 2592000 -- 30 * 24 *3600 (30 дней время в секундах)
Объяснение кода листинга программы
UNIX_TIMESTAMP()
- функция, которая возвращает текущую дату и время в формате Unix timestamp, т.е. количество секунд, прошедших с начала эпохи Unix (1 января 1970 года, 00:00:00 GMT).- 2592000
- вычитаем из текущего Unix timestamp значение 2592000, которое равно 30 дням в секундах.-- 30 * 24 *3600
- вычитаем из предыдущего значения 30 дней, умноженных на 24 часа в сутках, умноженных на 3600 секунд в часе. Это дает нам количество секунд, прошедших 30 дней назад от текущей даты и времени. В итоге получается Unix timestamp, который представляет собой количество секунд, прошедших 30 дней назад от текущей даты и времени.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д