SQL仅等于日期和月份而不是年份

时间:2013-05-02 18:56:17

标签: mysql sql date

我有一个用户存储生日的数据库。 y-m-d,我试图让每个拥有相同生日的用户。但这一年可能是每个用户之间的差异。

那我怎么把这个:SELECT username FROM table_name WHERE birthday='$birthday'变成一个工作脚本?

$ birthday从表单中获取数据,输入示例为:2002-02-02。如果用户有这个生日,它就会回应它。但问题是,它检查了一年,我试图只获得一个月和一天,而不是一年。

我曾尝试过(确切地说(MONTH FROM ...)但是没有让它发挥作用。我错过了什么?

2 个答案:

答案 0 :(得分:4)

尝试使用MONTH()DAYOFMONTH()。今天的生日:

SELECT username 
FROM table_name
WHERE MONTH(birthday) = MONTH(CURRENT_DATE)
AND DAYOFMONTH(birthday) = DAYOFMONTH(CURRENT_DATE)

特定日期(2月2日):

SELECT username 
FROM table_name
WHERE MONTH(birthday) = 2
AND DAYOFMONTH(birthday) = 2

答案 1 :(得分:4)

您可以

SELECT username FROM table_name 
WHERE MONTH(birthday)=MONTH('$birthday') 
AND DAY(birthday)=DAY('$birthday')