我在2012年7月6日以这种格式存储了日期。如果日期是今天的日期,我想循环浏览它们并向管理员发送电子邮件。 我尝试了这个,但我认为我需要首先配合日期格式。
SELECT email, name, phone_no FROM table WHERE TO_DAYS(date)=To_DAYS(NOW());
If true then send email to admin.
//eg. John's birthday is today. Pls call him on 00001332424;
由于
答案 0 :(得分:1)
是的,您应该首先转换为本机mysql日期/时间格式。如果您永远不必操纵该日期,那么将日期存储为字符串就可以了。但是,只要你这样做,那么你就会陷入痛苦的世界 - 不能使用索引,每次运行查询都必须转换每个字符串等等......
将该字符串转换为本机日期字段后,只需
即可SELECT .... WHERE datefield=CURDATE();
为了让您了解在以“原生”格式获取日期后可能的情况,这里是mysql日期/时间操作函数:http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html
有很多这些,但几乎所有只在本机日期字段上工作,而不是在任意字符串上(除了转换字符串< - > native)之外。