1

OK、次のユーザーテーブルがあります。

id |  name  |  birthday 

1  |  nam1  |  1980-06-29  
2  |  nam2  |  1997-07-08  
3  |  nam3  |  1997-07-20  

今日が 2012-06-29 であると仮定すると、

今後 15 日以内にあなたの誕生日を祝うユーザーを取得するにはどうすればよいですか? 私はこれを試しました:

select * from users where birthday between '%-06-29' and '%-07-14';

しかし、有効なクエリではないようです。

4

2 に答える 2

3

最も安全な方法は、15 日後の年齢と今日の年齢を比較することだと思います。

SELECT *
FROM   Users
WHERE  TIMESTAMPDIFF(YEAR, birthday, CURRENT_DATE + INTERVAL 15 DAY)
     > TIMESTAMPDIFF(YEAR, birthday, CURRENT_DATE)

sqlfiddleで参照してください。

于 2012-06-29T16:48:25.527 に答える
0

フィールドから年を「切り取る」ことができるように、「誕生日」の部分文字列を操作してみてください。

于 2012-06-29T16:34:18.673 に答える