【问题标题】:SQL Only equal to day and month not yearSQL 仅等于日和月而不是年
【发布时间】:2013-05-03 03:04:56
【问题描述】:

我有一个数据库,用户可以在其中存储他们的生日。 y-m-d,我试图让每个生日相同的用户。但是每个用户之间的年份可能有所不同。

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

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

我已经尝试使用 (EXACT(MONTH FROM ...) 但没有让它工作。我错过了什么?

【问题讨论】:

    标签: mysql sql date


    【解决方案1】:

    你可以做某事,比如

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

    【讨论】:

      【解决方案2】:

      尝试使用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
      

      【讨论】:

      • 感谢您的快速回答,但也许我不是很清楚。对于那个很抱歉。但我想要像 Egor 回答的那样
      • 我认为问题很明确。你能澄清一下你在找什么吗?
      • 问题是我只是想从我的表单中获取月份和日期,您可以在其中询问日期并打印出每个用户。表单很简单 .
      猜你喜欢
      • 2011-09-11
      • 1970-01-01
      • 1970-01-01
      • 2017-03-25
      • 2022-07-25
      • 1970-01-01
      • 2019-01-17
      • 2021-12-16
      • 1970-01-01
      相关资源
      最近更新 更多