compare field with current date

I'm trying to compare a field birth_date which I have converted to just show the month and day as DATE_FORMAT(`birth_date`,'%m/%d') with the current date to only return the records where their birthdate = the current day I tried the following but didn't work

 

if DATE_FORMAT(`birth_date`,'%m/%d') = DATE_FORMAT(CURRENT_DATE(), '%m/%d') THEN 'Yes' else 'No'

 

 

any help would be appreciated.

Best Answer

  • AS
    AS 🔵
    Accepted Answer

    Looks basically ok to me.  Maybe try a case statement instead.
    CASE

    WHEN

    DATE_FORMAT(`birth_date`,'%m/%d') = DATE_FORMAT(CURRENT_DATE(), '%m/%d')

    THEN 'Yes'

    ELSE 'No'

    END

     

    If that doesn't work, replace the date logic with something like 

    month(`birth_date`) = month(current_date()) and dayofmonth(`birth_date`) = dayofmonth(current_date())

Answers

  • You'll want to use a CASE WHEN statement like this:

    CASE WHEN DATE_FORMAT(`birth_date`,'%m/%d') = DATE_FORMAT(CURRENT_DATE(), '%m/%d') THEN 'Yes' else 'No' END

    Give that a shot and let me know if you need anything else,

    Valiant_Ronin

     

     

  • You'll want to use a CASE WHEN statement like this:

    CASE WHEN DATE_FORMAT(`birth_date`,'%m/%d') = DATE_FORMAT(CURRENT_DATE(), '%m/%d') THEN 'Yes' else 'No' END

    Give that a shot and let me know if you need anything else,

    Valiant_Ronin

     

     **Please mark "Accept as Solution" if this post solves your problem
    **Say "Thanks" by clicking the "heart" in the post that helped you.

  • I got it...just as you suggested...thanks