1

我希望在仪表板上显示即将到来的生日记录。我有 MySQL 表“联系人”

有字段dob (DATE YYYY-MM-DD)。我要检索生日即将到来的所有记录

在接下来的 15 天内。例如:生日是 1986-03-24 它应该是结果。

4

3 回答 3

6

看看 MySQLDATE_ADDINTERVAL.

通过使用以下两者,您可以获得未来 15 天的记录。

SELECT * FROM user WHERE dob BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 15 DAY)

用于出生率比较。

MAKEDATE(YEAR(NOW() + INTERVAL 15 DAY), DAYOFYEAR(birthday)) BETWEEN CURDATE() AND CURDATE() + INTERVAL 15 DAY
于 2013-03-14T06:51:22.620 回答
0

您必须将 mysql 查询中的日期用作:

 SELECT FROM table_name WHERE timestamp_row BETWEEN 
    '2011-01-01 00:00:00' AND '2011-01-02 23:59:59';

您正在做用户的 B'Day 日期,因此希望这能起到格式化和选择日期的作用

select id from my_table
 where
 timestamp < date_format(date_add(CURRENT_TIMESTAMP(), interval 1 day),
         '%Y%m%d000000' ) AND timestamp >=  date_format(CURRENT_TIMESTAMP(),
         '%Y%m%d000000')

这种方式也可以

SELECT * FROM person WHERE IF  ( MONTH( NOW() ) < 12, 
     MONTH( birthdate ) = MONTH( NOW() ) + 1, MONTH( birthdate ) = 1)
于 2013-03-14T06:50:54.523 回答
0

您可以使用此查询。试用

SELECT * FROM TableName
WHERE REPLACE(BirthDate, DATEPART(YEAR, BirthDate), DATEPART(YEAR, GETDATE())) BETWEEN GETDATE() AND DATEADD(DAY, 15, GETDATE())
于 2013-03-14T09:23:42.003 回答