0

我在我的表中存储了 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;

谢谢

4

1 回答 1

1

是的,您应该首先转换为本机 mysql 日期/时间格式。如果您永远不必操纵该日期,那么将日期存储为字符串就可以了。但是一旦你这样做了,你就会陷入痛苦的世界——不能使用索引,每次运行查询时都必须转换每个字符串,等等......

一旦您将该字符串转换为本机日期字段,那么这很简单

SELECT .... WHERE datefield=CURDATE();

为了让您了解一旦您以“本机”格式获得日期后会发生什么,这里是 mysql 日期/时间操作函数:http ://dev.mysql.com/doc/refman/5.5/en/date-and -time-functions.html

它们有很多,但几乎所有都只适用于本机日期字段,而不适用于任意字符串(转换字符串<->本机的除外)。

于 2012-06-05T15:06:28.793 回答