【发布时间】:2014-03-22 20:19:30
【问题描述】:
是否可以在不更改的情况下即时更改列类型? 我有一个表,其中包含电子邮件用户的 expire_date 列。类型如下:
ADDDATE(NOW(), INTERVAL 365 DAY)
所以这会返回如下内容:
+---------------------+
| expire_date |
+---------------------+
| 2015-03-22 13:03:53 |
+---------------------+
但是,我尝试在电子邮件过期前使用 php 脚本发送 30 天通知。 我的选择语句如下所示:
select email from new_users where SUBDATE(`expire_date`, INTERVAL 30 DAY) = CURDATE();
如您所见,我正在查询查询以检查 expired_date 时间戳后 30 天内的所有电子邮件。但这不起作用,因为 expire_date 时间戳使用我仍想保留的完整日期和时间戳。 CURDATE() 只使用我需要的那一天,因为不可能以秒为单位运行 cron php 脚本。选择语句归结为:如果所选电子邮件的 30 天通知等于今天的日期,则向该用户发送电子邮件。如前所述, expired_date 不能匹配 CURDATE() 因为它包含实际时间。我想修改 expired_date 列以仅显示此查询的日期。这可能吗?
【问题讨论】: