SQL DATETIME()

Anonymous contributor's avatar
Anonymous contributor
Published Aug 23, 2021Updated Sep 3, 2021
Contribute to Docs

The DATETIME() function returns the entire time string which includes the date and time portions (YYYY-MM-DD hh:mm:ss)

  • Learn to analyze data with SQL and prepare for technical interviews.
    • Includes 9 Courses
    • With Certificate
    • Beginner Friendly.
      18 hours
  • In this SQL course, you'll learn how to manage large datasets and analyze real data using the standard data management language.
    • Beginner Friendly.
      5 hours

Syntax

SELECT DATETIME('2020-09-01 17:38:22');
-- 2020-09-01 17:38:22

To obtain the current date and time, you can provide the string 'now' to the function, which returns the date and time in UTC.

SELECT DATETIME('now');
-- 2022-01-01 00:00:00

To obtain the date and time converted to your local timezone, you can provide a modifier localtime.

SELECT DATETIME('now', 'localtime');
-- 2022-01-01 02:00:00

Modifiers

Shift Dates

The following modifiers can be used to shift the date backwards to a specified part of the date.

  • start of year: shifts the date to the beginning of the current year.
  • start of month: shifts the date to the beginning of the current month.
  • start of day: shifts the date to the beginning of the current day.

Offsets

The following modifiers add a specified amount to the date and time of the time string.

  • '+-N years': offsets the year
  • '+-N months': offsets the month
  • '+-N days': offsets the day
  • '+-N hours': offsets the hour
  • '+-N minutes': offsets the minute
  • '+-N seconds': offsets the second

Example 1

For example, suppose there’s a bodega table with the following data:

order_id item price quantity order_date
1 Donut 2.49 2 2022-08-16 08:04:23
2 Cookie 0.99 3 2022-08-16 09:43:00
3 Donut 2.49 1 2022-08-16 11:25:12
4 Egg Sandwich 7.99 1 2022-08-17 11:45:41
5 Ice Coffee 3.99 2 2022-08-17 12:18:50
SELECT DATETIME(order_date)
FROM bodega;

This would return the time for the order_date column.

TIME(order_date)
2022-08-16 08:04:23
2022-08-16 09:43:00
2022-08-16 11:25:12
2022-08-17 11:45:41
2022-08-17 12:18:50

Example 2

SELECT DATETIME('2020-02-10', 'start of month', '-1 day', '+7 hours');
  • First, it will apply the modifier 'start of month' which will shift to the beginning of the month, '2020-02-01 00:00:00'. It will include the time portion because we are using the DATETIME() function.
  • Then, it will apply the modifier '-1 day' which will offset the day by -1, resulting in '2020-01-31 00:00:00'.
  • Finally, it will apply the modifier '+7 hours', which will add 7 hours to the time, giving the final result of '2020-01-31 07:00:00'.

All contributors

Contribute to Docs

Learn SQL on Codecademy

  • Learn to analyze data with SQL and prepare for technical interviews.
    • Includes 9 Courses
    • With Certificate
    • Beginner Friendly.
      18 hours
  • In this SQL course, you'll learn how to manage large datasets and analyze real data using the standard data management language.
    • Beginner Friendly.
      5 hours