在mysql中查詢生日在昨天的數據,需要先了解mysql中如何獲取昨天的日期。
SELECT DATE_SUB(CURDATE(), INTERVAL 1 DAY) AS yesterday;
上面的語句可以獲取昨天的日期,CURDATE()是獲取當前日期的函數,DATE_SUB()是減去一個時間間隔的函數,INTERVAL 1 DAY表示減去一天。
獲取到昨天的日期后,就可以用它來查詢生日在昨天的數據了。
SELECT * FROM user WHERE DAYOFYEAR(birthday) = DAYOFYEAR(DATE_SUB(CURDATE(), INTERVAL 1 DAY));
上面的語句中,DAYOFYEAR()是獲取一年中的第幾天的函數,因此我們只需要比較用戶生日的天數是否等于昨天的天數即可。
注意,上面的語句只能獲取當年生日在昨天的數據,如果要查詢所有年份生日在昨天的數據,需要使用YEAR()函數獲取年份信息,如下:
SELECT * FROM user WHERE DAYOFYEAR(birthday) = DAYOFYEAR(DATE_SUB(CURDATE(), INTERVAL 1 DAY)) AND YEAR(birthday) <= YEAR(CURDATE());
以上是查詢生日在昨天的方法,希望對大家有所幫助。