我希望在仪表板上显示即将到来的生日记录。我有 MySQL 表“联系人”
有字段dob (DATE YYYY-MM-DD)
。我要检索生日即将到来的所有记录
在接下来的 15 天内。例如:生日是 1986-03-24 它应该是结果。
看看 MySQLDATE_ADD
和INTERVAL
.
通过使用以下两者,您可以获得未来 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
您必须将 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)
您可以使用此查询。试用
SELECT * FROM TableName
WHERE REPLACE(BirthDate, DATEPART(YEAR, BirthDate), DATEPART(YEAR, GETDATE())) BETWEEN GETDATE() AND DATEADD(DAY, 15, GETDATE())