Expand my Community achievements bar.

SOLVED

Query Month and Day from Customers Date of Birth

Avatar

Level 4

I was wondering if it was possible to query customers whose birthday is today using their date of birth field (date field). 

Topics

Topics help categorize Community content and increase your ability to discover relevant content.

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Hello @RyanMoravick ,

 

Assuming you're referring to running this query in Query Service, there are two out-of-the-box fields under the person field group for birth date: birthDayAndMonth and birthDate.

 
 

 

Parvesh_Parmar_0-1727205136514.png

 

 

Since you're asking about the date field, I believe you are referring to birthDate.

If your birth date data is stored in the birthDate field, you can use the following query to get customers whose birthday is today:

 

SQL:
 
SELECT *
FROM table_name
WHERE TO_CHAR(person.birthDate, 'MM-DD') = TO_CHAR(CURRENT_DATE, 'MM-DD');

 

This query formats both the birthDate and CURRENT_DATE as MM-DD (month and day) and compares them to return the customers whose birthday is today.

 

Kr,

Parvesh

View solution in original post

3 Replies

Avatar

Correct answer by
Community Advisor

Hello @RyanMoravick ,

 

Assuming you're referring to running this query in Query Service, there are two out-of-the-box fields under the person field group for birth date: birthDayAndMonth and birthDate.

 
 

 

Parvesh_Parmar_0-1727205136514.png

 

 

Since you're asking about the date field, I believe you are referring to birthDate.

If your birth date data is stored in the birthDate field, you can use the following query to get customers whose birthday is today:

 

SQL:
 
SELECT *
FROM table_name
WHERE TO_CHAR(person.birthDate, 'MM-DD') = TO_CHAR(CURRENT_DATE, 'MM-DD');

 

This query formats both the birthDate and CURRENT_DATE as MM-DD (month and day) and compares them to return the customers whose birthday is today.

 

Kr,

Parvesh

Avatar

Level 4

@Parvesh_Parmar Im attempting to replicate this for customer loyalty anniversary date, which is a date time field. When running the query, it doesn't return anyone.

SELECT *
FROM table_name
WHERE TO_CHAR(AppSignupDatetime, 'MM-DD') = TO_CHAR(CURRENT_DATE, 'MM-DD');

 

Since the field is a date time field, will that change the date syntax in the query from 'MM-DD' to 'YYYY-MM-DDThh:mm:ss.SSSZ'?