SQL Dates
SQL provides several functions and types to work with dates and times. Here's an overview along with examples and their outputs.
Date and Time Data Types
DATE
: Stores date values (year, month, day).TIME
: Stores time values (hour, minute, second).DATETIME
: Stores date and time values.TIMESTAMP
: Stores a timestamp value that includes date and time.YEAR
: Stores a year value.
Getting the Current Date and Time
CURDATE()
: Returns the current date.CURTIME()
: Returns the current time.NOW()
: Returns the current date and time.CURRENT_TIMESTAMP()
: Synonym forNOW()
.
Example
SELECT CURDATE(); -- Output: '2024-07-25'
SELECT CURTIME(); -- Output: '14:35:06'
SELECT NOW(); -- Output: '2024-07-25 14:35:06'
Date and Time Functions
DATE()
: Extracts the date part of a datetime expression.TIME()
: Extracts the time part of a datetime expression.YEAR()
,MONTH()
,DAY()
: Extracts the year, month, and day parts respectively.
Example
SELECT DATE('2024-07-25 14:35:06'); -- Output: '2024-07-25'
SELECT TIME('2024-07-25 14:35:06'); -- Output: '14:35:06'
SELECT YEAR('2024-07-25'); -- Output: 2024
SELECT MONTH('2024-07-25'); -- Output: 7
SELECT DAY('2024-07-25'); -- Output: 25
Date Arithmetic
DATE_ADD()
,DATE_SUB()
: Adds or subtracts a date or time interval.DATEDIFF()
: Returns the number of days between two dates.
Example
SELECT DATE_ADD('2024-07-25', INTERVAL 10 DAY); -- Output: '2024-08-04'
SELECT DATE_SUB('2024-07-25', INTERVAL 10 DAY); -- Output: '2024-07-15'
SELECT DATEDIFF('2024-08-04', '2024-07-25'); -- Output: 10
Date Formatting
DATE_FORMAT()
: Formats a date according to a specified format.
Example
SELECT DATE_FORMAT('2024-07-25', '%W, %M %d, %Y'); -- Output: 'Thursday, July 25, 2024'
Practical Use Case
Suppose we have a table called orders
with a column order_date
of type DATETIME
. We want to get all orders from the last 30 days.
Example Query
SELECT * FROM orders
WHERE order_date >= DATE_SUB(NOW(), INTERVAL 30 DAY);
Combining Date and Time Functions
You can combine multiple functions to achieve complex queries. For example, finding the difference in hours between two DATETIME
values.
Example
SELECT TIMESTAMPDIFF(HOUR, '2024-07-25 10:00:00', '2024-07-25 14:00:00'); -- Output: 4
Summary
SQL provides robust support for date and time manipulation. Understanding these functions and types allows you to perform various operations, such as extracting parts of dates, formatting dates, adding/subtracting intervals, and more.
At Online Learner, we're on a mission to ignite a passion for learning and empower individuals to reach their full potential. Founded by a team of dedicated educators and industry experts, our platform is designed to provide accessible and engaging educational resources for learners of all ages and backgrounds.
Copyright 2023-2025 © All rights reserved.