在 SQL 查询中添加 365 天或年份 - MOODLE
Adding 365days or Year in SQL Query - MOODLE
我正在尝试创建一个报告,我们可以在其中查看课程完成日期和到期日期。这是我到目前为止得到的:
SELECT u.firstname AS 'Firstname' , u.lastname AS 'Lastname', cat.name AS 'Organisation', c.fullname AS 'course',
DATE_FORMAT(FROM_UNIXTIME(p.timecompleted),'%Y-%m-%d') AS completed
FROM prefix_course_completions AS p
JOIN prefix_course_categories AS cat
JOIN prefix_course AS c ON p.course = c.id
JOIN prefix_user AS u ON p.userid = u.id
WHERE c.enablecompletion = 1
ORDER BY u.firstname
我正在尝试添加一个新列,其中 'completed' 列数据 + 365 = 过期日期。 DATE_ADD/DATEADD之类的方法试了很多,还是不行。你能帮我么。如果有任何建议和帮助,我将不胜感激。
提前致谢
这应该可以满足您的要求:
DATE_FORMAT(DATE_ADD(FROM_UNIXTIME(p.timecompleted),
INTERVAL 1 YEAR), '%Y-%m-%d'
) AS expiration_date
如果您想要恰好 365 天(因此在闰年前后会发生变化),您可以改用 INTERVAL 365 DAY
。
我正在尝试创建一个报告,我们可以在其中查看课程完成日期和到期日期。这是我到目前为止得到的:
SELECT u.firstname AS 'Firstname' , u.lastname AS 'Lastname', cat.name AS 'Organisation', c.fullname AS 'course',
DATE_FORMAT(FROM_UNIXTIME(p.timecompleted),'%Y-%m-%d') AS completed
FROM prefix_course_completions AS p
JOIN prefix_course_categories AS cat
JOIN prefix_course AS c ON p.course = c.id
JOIN prefix_user AS u ON p.userid = u.id
WHERE c.enablecompletion = 1
ORDER BY u.firstname
我正在尝试添加一个新列,其中 'completed' 列数据 + 365 = 过期日期。 DATE_ADD/DATEADD之类的方法试了很多,还是不行。你能帮我么。如果有任何建议和帮助,我将不胜感激。
提前致谢
这应该可以满足您的要求:
DATE_FORMAT(DATE_ADD(FROM_UNIXTIME(p.timecompleted),
INTERVAL 1 YEAR), '%Y-%m-%d'
) AS expiration_date
如果您想要恰好 365 天(因此在闰年前后会发生变化),您可以改用 INTERVAL 365 DAY
。