Mastering SQL Date and Time functions is crucial for managing timelines, logs, and scheduled data handling inside backend databases. Use this comprehensive guide to ace your upcoming computer science board exams.
1. Current Date and Time Functions
These functions allow database administrators and developers to retrieve the host server's current operational date and chronological runtime metrics instantly.
| Function | Purpose | Example Expression | Result (Assuming Today) |
|---|---|---|---|
NOW() |
Returns current unified system date and time. | SELECT NOW(); |
2026-06-20 09:44:40 |
CURDATE() |
Returns only the current system calendar date. | SELECT CURDATE(); |
2026-06-20 |
SYSDATE() |
Returns real-time current date and execution time. | SELECT SYSDATE(); |
2026-06-20 09:44:40 |
NOW() and SYSDATE() produce similar outputs, they operate differently underneath. NOW() returns a constant timestamp reflecting the exact time the overall query started. In contrast, SYSDATE() dynamically tracks system clock ticking time as the specific statement inline executes.
2. Extraction Functions
Extraction functions are designed to pull or "pluck" individual standalone parameters out of a comprehensive date or timestamp expression field.
| Function | Structural Purpose | Example Expression | Returned Output |
|---|---|---|---|
DATE() |
Isolates and extracts the clean date part from a datetime value. | SELECT DATE('2026-12-25 10:30'); |
'2026-12-25' |
MONTH() |
Returns the numerical month index position (1 to 12). | SELECT MONTH('2026-12-25'); |
12 |
MONTHNAME() |
Returns the full text string name of the month. | SELECT MONTHNAME('2026-12-25'); |
'December' |
YEAR() |
Returns the isolated four-digit century year string. | SELECT YEAR('2026-12-25'); |
2026 |
DAY() / DAYOFMONTH() |
Returns the numeric day count location within the month (1 to 31). | SELECT DAY('2026-12-25'); |
25 |
DAYNAME() |
Returns the full alphabetical label name of the weekday. | SELECT DAYNAME('2026-12-25'); |
'Friday' |
DAYOFWEEK() |
Returns standard index coordinate values (1 = Sun, 2 = Mon... 6 = Fri). | SELECT DAYOFWEEK('2026-12-25'); |
6 |
DAYOFYEAR() |
Calculates cumulative elapsed annual days value (1 to 366). | SELECT DAYOFYEAR('2026-02-01'); |
32 |
3. Important Comparison for Exams
Review this key conceptual architectural difference checklist to keep tracking mechanics sorted perfectly for board verification evaluations:
| Target Feature | MONTH() Function |
MONTHNAME() Function |
|---|---|---|
| Output Format Data Type | Numeric Integer Representation (1, 2, 3...) | Text String Label (January, February...) |
| May Execution Example Output | 5 |
'May' |
'2026-05-20'). If you run YEAR(2026-05-20) without quotes, MySQL interprets the hyphens as mathematical subtraction operators, calculating $2026 - 5 - 20 = 2001$, and running YEAR(2001), which outputs a malformed or incorrect result string!
4. Interactive Solved Board-Style Questions
Click on any question card below to reveal the verified query logic and expected output instantly:
Write a query to display the textual string name of the current running calendar month.
SELECT MONTHNAME(CURDATE());Execution Logic: The inner
CURDATE() function grabs the current system date, and the outer MONTHNAME() function changes that tracking value into its corresponding alphabetical word label.
Consider a table named Library containing a column identified as IssueDate. Write a structured command to extract and display exclusively the year of issue for all book records.
SELECT YEAR(IssueDate) FROM Library;Execution Logic: The
YEAR() single-row function loops through every row in the Library data matrix, stripping away monthly and daily segments to return only the 4-digit century values.
What is the exact output returned by evaluating the statement: SELECT DAYOFMONTH('2026-08-15');?
15Execution Logic: The
DAYOFMONTH() parameter targeting parses the standard raw date tracking layout value to isolate the specific numerical day component directly.
Determine the absolute output results generated when parsing this joint query sequence:SELECT MONTHNAME('2026-01-01'), DAYNAME('2026-01-01');
January, ThursdayExecution Logic:
MONTHNAME() reads the 01 index block to output 'January', while DAYNAME() calculates the exact calendar location of January 1, 2026, which falls on a 'Thursday'.
.png)