How to Extract Day of Week From Date Field in PostgreSQL?
Last Updated :
20 Feb, 2024
In PostgreSQL, extracting the day of the week from a date field is a common and essential task when working with temporal data. Knowing the day of the week is crucial for various applications, including scheduling, reporting, and analytical purposes. PostgreSQL provides multiple methods to achieve this, offering flexibility based on specific requirements.
This article explores three common techniques: using the EXTRACT function, the TO_CHAR function, and the DATE_PART function, each catering to different scenarios for extracting day-of-week information from date fields in PostgreSQL.
How to Extract the Day of the Week from Date Fields Using PostgreSQL?
In PostgreSQL, you can extract the day of the week from a date field using various methods. Here are some common ways to achieve this :
- Using the EXTRACT Function
- Using the TO_CHAR Function
- Using the DATE_PART Function
To understand How to Extract day of week from date field in PostgreSQL we need a table on which we will perform various operations. So we create a table example_table.
Creating the table example_table
CREATE TABLE example_table (
sample_dates date
);
Inserting values in example_table
INSERT INTO example_table (sample_dates)
VALUES ('2024-02-07'), ('2024-02-08'), ('2024-02-09');
Using the Extract() Function
In PostgreSQL, using the EXTRACT function and the 'DOW' (day of the week) specifier, you may extract the day of the week from a date field. The outcome will be a number that indicates the day of the week, with Saturday being 6 and Sunday being 0.
Syntax:
SELECT EXTRACT(DOW FROM column_name) FROM table_name;
Here replace table_name with the name of the table and column_name with name of the column that has date data type.
Example: Extracting Day of Week from Date Field in PostgreSQL
SELECT sample_dates,EXTRACT(DOW FROM sample_dates) AS day_of_week
FROM example_table;
Output:
Output for Extract functionExplanation: The table below shows the representation of output numbers concerning corresponding days in a week.
Using the TO_CHAR() Function
In PostgreSQL, you can format a date or timestamp as a string by using the TO_CHAR function. It can be utilized to extract the day of the week in a textual representation.
Syntax:
SELECT TO_CHAR(column_name, Format Specifier)
FROM table_name;
Here replace table_name with the name of the table and column_name with name of the column that has date data type.
Some Format Specifiers can be the following :
1. 'Day': Full name of the day of the week (e.g. "Tuesday").
2. 'day': Full name of the day of the week in lowercase(e.g. "Tuesday").
3. 'DAY': Full name of the day of the week in UPPERCASE(e.g. "TUESDAY").
4. 'Dy': Three-letter abbreviation of the day of the week (e.g. "Tue").
5. 'dy': Three-letter abbreviation of the day of the week in lowercase (e.g. "true").
6. 'DY': Three-letter abbreviation of the day of the week in UPPERCASE(e.g. "TUE").
Example: Displaying Day of Week as Text from Date Field in PostgreSQL
SELECT sample_dates,TO_CHAR(sample_dates, 'Day') AS day_of_week
FROM example_table;
Output:
Output of TO_CHAR FunctionExplanation: The provided SQL query creates a new column called day_of_week and pulls the sample_dates column from the example_table. The date data in sample_dates are formatted into their corresponding complete day names using the TO_CHAR function. The output shows a list of dates combined with the matching day of the week, presenting a legible picture of the weekdays that correspond to each date in the given data.
Using the Date_Part() Function
In PostgreSQL, A useful tool for removing particular elements from a date or timestamp is the DATE_PART function. Particularly helpful are the 'dow' and 'isodow' parameters for getting the day of the week.
1) Day Of Week (Sunday to Saturday, 0 to 6):
Syntax:
SELECT DATE_PART('dow', column_name) AS day_of_week
FROM your_table;
Replace your_table with the name of the actual table and column_name with the name of the actual column that contains the date field. The outcome will be an integer with Sunday being 0 and Saturday being 6, signifying the day of the week.
Example: Extracting Day of Week using DATE_PART in PostgreSQL
SELECT sample_dates,DATE_PART('dow', sample_dates) AS day_of_week
FROM example_table;
Output:
Output of DATE_PART Function with dowExplanation: The given SQL statement creates a new column called day_of_week and pulls the sample_dates column from the example_table. For each date in the given table, the DATE_PART function is used to extract the day of the week as an integer (0 for Sunday, 1 for Monday, and so on). The outcome shows the original dates next to the day of the week represented by a number.
2) ISO Day Of Week (Monday to Sunday, 1 to 7):
Syntax:
SELECT DATE_PART('isodow', column_name) AS day_of_week
FROM your_table;
Replace your_table with the name of the actual table and column_name with the name of the actual column that contains the date field. The outcome will be an integer with Monday being 1 and Sunday being 7, signifying the day of the week.
Example: Retrieving the ISO Day of the Week Using DATE_PART Function in PostgreSQL
SELECT sample_dates,DATE_PART('isodow', sample_dates) AS day_of_week
FROM example_table;
Output:
Output of DATE_PART Function with isodowExplanation: This SQL statement creates a new column called day_of_week by using the DATE_PART function with the 'isodow' argument. It also picks the sample_dates column from the example_table. It provides a numerical depiction of weekdays by extracting the ISO day of the week (which ranges from 1 for Monday to 7 for Sunday) for every date in the table.
Conclusion
In Conclusion, for procedures requiring numerical comparisons, the EXTRACT function is useful in extracting the numerical representation of the day of the week. In contrast, the TO_CHAR function offers options for retrieving the whole day name, three-letter abbreviations allowing for output customisation. The DATE_PART function in PostgreSQL facilitates efficient extraction of the day of the week, offering both numeric and ISO representations for diverse applications.
Similar Reads
SQL Tutorial Structured Query Language (SQL) is the standard language used to interact with relational databases. Whether you want to create, delete, update or read data, SQL provides the structure and commands to perform these operations. SQL is widely supported across various database systems like MySQL, Oracl
8 min read
Non-linear Components In electrical circuits, Non-linear Components are electronic devices that need an external power source to operate actively. Non-Linear Components are those that are changed with respect to the voltage and current. Elements that do not follow ohm's law are called Non-linear Components. Non-linear Co
11 min read
SQL Commands | DDL, DQL, DML, DCL and TCL Commands SQL commands are crucial for managing databases effectively. These commands are divided into categories such as Data Definition Language (DDL), Data Manipulation Language (DML), Data Control Language (DCL), Data Query Language (DQL), and Transaction Control Language (TCL). In this article, we will e
7 min read
Spring Boot Tutorial Spring Boot is a Java framework that makes it easier to create and run Java applications. It simplifies the configuration and setup process, allowing developers to focus more on writing code for their applications. This Spring Boot Tutorial is a comprehensive guide that covers both basic and advance
10 min read
Normal Forms in DBMS In the world of database management, Normal Forms are important for ensuring that data is structured logically, reducing redundancy, and maintaining data integrity. When working with databases, especially relational databases, it is critical to follow normalization techniques that help to eliminate
7 min read
Class Diagram | Unified Modeling Language (UML) A UML class diagram is a visual tool that represents the structure of a system by showing its classes, attributes, methods, and the relationships between them. It helps everyone involved in a projectâlike developers and designersâunderstand how the system is organized and how its components interact
12 min read
SQL Query Interview Questions SQL or Structured Query Language, is the standard language for managing and manipulating relational databases such as MySQL, Oracle, and PostgreSQL. It serves as a powerful tool for efficiently handling data whether retrieving specific data points, performing complex analysis, or modifying database
15+ min read
Backpropagation in Neural Network Back Propagation is also known as "Backward Propagation of Errors" is a method used to train neural network . Its goal is to reduce the difference between the modelâs predicted output and the actual output by adjusting the weights and biases in the network.It works iteratively to adjust weights and
9 min read
3-Phase Inverter An inverter is a fundamental electrical device designed primarily for the conversion of direct current into alternating current . This versatile device , also known as a variable frequency drive , plays a vital role in a wide range of applications , including variable frequency drives and high power
13 min read
Polymorphism in Java Polymorphism in Java is one of the core concepts in object-oriented programming (OOP) that allows objects to behave differently based on their specific class type. The word polymorphism means having many forms, and it comes from the Greek words poly (many) and morph (forms), this means one entity ca
7 min read