SQL Server DATENAME()
SQL Server DATENAME() Function
The SQL Server DATENAME() function returns a specified part of a date as a string. This function is useful for retrieving the name of a date part, such as the day of the week or the month name.
Syntax
SELECT DATENAME(datepart, date);
The DATENAME() function takes two arguments:
datepart: The part of the date to return. Common values includeyear,quarter,month,day,week,weekday,hour,minute,second, andmillisecond.date: The date from which to extract the date part.
Example SQL Server DATENAME() Function Queries
Let's look at some examples of SQL Server DATENAME() function queries:
1. Getting the Month Name
SELECT DATENAME(month, '2024-06-01') AS month_name;
This query returns the name of the month for the date '2024-06-01'. The result will be:
month_name
----------
June
2. Getting the Day of the Week
SELECT DATENAME(weekday, '2024-06-01') AS day_name;
This query returns the name of the day of the week for the date '2024-06-01'. The result will be:
day_name
--------
Saturday
3. Getting the Year
SELECT DATENAME(year, '2024-06-01') AS year_name;
This query returns the year as a string for the date '2024-06-01'. The result will be:
year_name
---------
2024
4. DATENAME() with a Column
SELECT order_date, DATENAME(month, order_date) AS month_name
FROM orders;
This query returns the month name for each order_date in the orders table. The result will show the original order_date and its corresponding month_name.
5. DATENAME() with a Variable
DECLARE @date DATETIME;
SET @date = '2024-12-25';
SELECT DATENAME(month, @date) AS month_name;
This query uses a variable to store a date and then returns the name of the month. The result will be:
month_name
----------
December
Full Example
Let's go through a complete example that includes creating a table, inserting data, and using the DATENAME() function.
Step 1: Creating a Table
This step involves creating a new table named events to store some sample data with event dates.
CREATE TABLE events (
id INT PRIMARY KEY,
event_name VARCHAR(255),
event_date DATETIME
);
In this example, we create a table named events with columns for id, event_name, and event_date.
Step 2: Inserting Data into the Table
This step involves inserting some sample data into the events table.
INSERT INTO events (id, event_name, event_date) VALUES (1, 'Event 1', '2024-06-01');
INSERT INTO events (id, event_name, event_date) VALUES (2, 'Event 2', '2024-12-25');
INSERT INTO events (id, event_name, event_date) VALUES (3, 'Event 3', '2024-08-15');
Here, we insert data into the events table.
Step 3: Using the DATENAME() Function
This step involves using the DATENAME() function to return the name of the month for each event_date in the events table.
SELECT id, event_name, event_date, DATENAME(month, event_date) AS month_name
FROM events;
This query retrieves the id, event_name, event_date, and the name of the month for each row in the events table. The result will be:
id event_name event_date month_name
--- ----------- ---------- ----------
1 Event 1 2024-06-01 June
2 Event 2 2024-12-25 December
3 Event 3 2024-08-15 August
Conclusion
The SQL Server DATENAME() function is a powerful tool for returning a specified part of a date as a string. Understanding how to use the DATENAME() function and its syntax is essential for effective date manipulation and data processing in SQL Server.