Skip to main content
Log inGet a demo
← SQL Dictionary
Date functions

SQL CURDATE

What is SQL CURDATE?

The SQL CURDATE() function is used to retrieve the current date (without the time portion) from the database server's system clock. It provides the current date as a date value and is commonly used for date-related operations within SQL.

When you would use it

You would use the CURDATE() function when you need to:

  1. Date-Based Queries: Retrieve and work with the current date in various SQL operations, such as filtering records based on today's date.

  2. Date Comparisons: Compare dates, find records within a specific date range, or calculate time differences based on the current date.

  3. Date Initialization: Set default date values for columns in database tables, ensuring they are populated with the current date.

Syntax

The syntax for the CURDATE() function is straightforward:

CURDATE()

Parameter values

The CURDATE() function does not accept any parameters. It simply returns the current date from the system clock.

Example query

Here's an example SQL query that uses the CURDATE() function to insert a new record into a "orders" table, capturing the current date:

INSERT INTO orders (order_id, order_date)
VALUES (1, CURDATE());

Example table response for the example query

The CURDATE() function, when used in the example query, will return the current date (e.g., '2023-10-19') and insert it into the "order_date" column of the "orders" table. The resulting table response is the modified "orders" table with a new row, including the current date.

Example "orders" table response:

order_idorder_date
12023-10-19

Use cases

  1. Date-Based Queries: To retrieve records and perform operations based on the current date, such as finding today's orders or events.

  2. Date Comparisons: For comparing dates, filtering records within specific date ranges, or calculating time differences based on the current date.

  3. Date Initialization: To set default date values for columns in database tables, ensuring they are automatically populated with the current date when new records are created.

SQL Languages Availability

The CURDATE() function is available in various SQL-based relational database management systems (RDBMS). While the concept of retrieving the current date is consistent, there may be slight variations in syntax or function names between database systems. Here are some examples of its availability:

  • MySQL: CURDATE()
  • PostgreSQL: CURRENT_DATE
  • Microsoft SQL Server: GETDATE() (returns date and time)
  • Oracle Database: SYSDATE (returns date and time)
  • IBM Db2: CURRENT DATE
  • SQLite: DATE('now')

Please refer to the documentation of your specific RDBMS for precise usage details and any variations.


Keep reading

SQL NOW

Read article

SQL CURTIME

Read article

SQL DATEPART

Read article

Ready to put your SQL knowledge to work?

Practice writing SQL to call data from the warehouse and sync it into Google Sheets in this 5 minute interactive demo.

Hightouch Audiences user interface.