mysql date_sub使用字段作为间隔

mysql date_sub使用字段作为间隔,第1张

概述我需要mysql和date_sub()的帮助.我有一个表调用ActivityActivity(id,deadline,alert) Activity(1,'2011-04-18','1 DAY'); Activity(2,'2011-04-13','1 MONTH'); A中的每一行都有一个“警报”,该字段表示活动必须报告的截止日期之前的时间.例如 On 2

我需要mysql和date_sub()的帮助.我有一个表调用Activity

Activity(ID,deadline,alert)Activity(1,'2011-04-18','1 DAY');Activity(2,'2011-04-13','1 MONTH');

A中的每一行都有一个“警报”,该字段表示活动必须报告的截止日期之前的时间.

例如

On 2011-04-17 I have to report the activity with 'ID' 1On 2011-03-14 I have to report the activity with 'ID' 2

我试图使用date_sub()函数,但我不能使用字段作为此函数的参数.知道如何解决这个问题吗?

SELECT *   FROM `activitIEs`  WHERE date_sub(`deadline`,INTERVAL alert) >= CURDATE();
最佳答案将警报拆分为2个字段

Alert_count: integerAlert_period: enum('hour','day','month','week')

并像这样更改查询:

SELECT *   FROM `activitIEs`  WHERE CASE alert_period    WHEN 'hour' THEN date_sub(`deadline`,INTERVAL alert_count HOUR) >= CURDATE();   WHEN 'day' THEN date_sub(`deadline`,INTERVAL alert_count DAY) >= CURDATE();   ... END CASE
总结

以上是内存溢出为你收集整理的mysql date_sub使用字段作为间隔全部内容,希望文章能够帮你解决mysql date_sub使用字段作为间隔所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/1168569.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-01
下一篇2022-06-01

发表评论

登录后才能评论

评论列表(0条)

    保存