2013-04-27 28 views
0

我需要每年都發送一封電子郵件,以便用戶成爲會員。這是我原來的查詢,這是逸岸錯誤的,因爲之後的第一年,它不再是有效的:MySQL重複出現年份時間戳查詢

SELECT * FROM users WHERE date_format(date_created,'%Y-%m-%d') + INTERVAL 365 DAY = CURRENT_DATE()

我該如何解決這個問題,因此它可以是有效的,每年,他們一直在積極?

+0

你想怎麼處理閏年? – 2013-04-27 19:05:00

回答

0

This?

SELECT * FROM users 
WHERE DAY(date_format(date_created,'%Y-%m-%d')-CURRENT_DATE()) = 0 
AND MONTH(date_format(date_created,'%Y-%m-%d')-CURRENT_DATE()) = 0 

或更好:

SELECT * FROM users 
WHERE DAY(date_created)=DAY(CURRENT_DATE()) 
AND MONTH(date_created)=MONTH(CURRENT_DATE()) 
+0

3月1日,電子郵件應寄給2月29日登記的人以及3月1日登記的人。當前查詢不能實現這一點。 – Manu 2013-04-27 19:40:50

+0

它應該在where子句中用特殊情況處理。 – 2013-04-27 19:50:53

+0

我猜想一般情況會更好。 – Manu 2013-04-28 03:57:49