Conveying Respect and Kindness Through Readable Code

Time to Read:

7–11 minutes

Time is perhaps the most valuable resource. It is the one thing no power on this earth can give us back. Believing that, it seems desirable to spend as little time as possible performing painful activities – right? In this post, I will walk through a handful of measures that you can take to ensure the time spent by others reading your code is as painless as possible. As a disclaimer, for SQL, there is not a style guide or standard equivalent to that available in other programming languages like python (PEP8) that is both well-known and widely adopted. That said, I do believe the measures in the forms of rules and rough guidelines that I propose are sensible and easy to implement.

Line Length
The number of characters used on each line can heavily impact the amount of time and effort required to read a SQL statement. Avoid forcing the readers of your code to scroll in both directions when traversing each line by setting soft limits on the number of characters used per line. Scrolling right to read the contents of a line and subsequently having to scroll back in order to continue with the next is a painful exercise that wastes the reader’s time and will likely make that person less enthusiastic about reviewing your code in the future.

For the remainder of this discussion, consider the SELECT statement below that is both poorly written and largely void of formatting. Some of you will say it is contrived having never been faced with poor code while others will say, “I have seen worse!” With each subsequent topic, I will continue to transform this code by addressing the elements, present or absent, reducing its readability.

WITH cte AS (
SELECT c.customer_id, c.cust_last_name || ', ' || c.cust_first_name AS customer_name, SUM(o.order_total) AS order_total, DENSE_RANK() OVER (ORDER BY SUM(o.order_total) DESC) AS order_total_sequence
FROM oe.customers c INNER JOIN oe.orders o ON c.customer_id = o.customer_id
WHERE o.order_date >= '01-JAN-08' AND o.order_date < '01-JAN-09'
GROUP BY c.customer_id, c.cust_last_name || ', ' || c.cust_first_name
)
SELECT cte.customer_id, cte.customer_name, cte.order_total, cte.order_total_sequence
FROM cte
WHERE cte.order_total_sequence <= 5
ORDER BY 3 DESC;

Separating Clauses with Indentation and New Lines
The use of indentation and new lines in SQL code are perhaps the easiest ways to increase code readability and also address the scrolling problem resulting from excessive line length. While there are no hard-and-fast rules on where to indent and add new lines for SQL, I find it beneficial add a new line after the SELECT, FROM, WHERE, GROUP BY, HAVING, and ORDER BY clauses and to indent the contents or specifications of those clauses. A new line followed by indentation signifies to the reader, “this is the start of the clause’s specification.”

For example, the SELECT clause’s specification is a comma-separated list of the required pre-existing and/or derived attributes. Placing each attribute on a new line makes it easier to read those instructions and should feel natural to the writer (i.e., you) and reader given the concept of a list in everyday writing. The reader simply needs to scan the vertically aligned attributes from top to bottom. This also applies to the predicates in the FROM, WHERE, and HAVING clauses, and for the enumerated attributes found in GROUP BY and ORDER BY clauses.

The code below is identical to that found above; however, I have separated clause specifications with indentation and incorporated new lines for readability. Notice, even in the small amount of space allocated to the code block, scrolling in only one direction is required. Additionally, it is much easier to understand each clause’s specification given that the contents are indented, on separate lines, and vertically aligned.

WITH cte AS (
    SELECT
        c.customer_id,
        (
			c.cust_last_name
			|| ', '
			|| c.cust_first_name
		) AS customer_name,
        SUM(o.order_total) AS order_total,
        DENSE_RANK() OVER (
			ORDER BY SUM(o.order_total) DESC
		) AS order_total_sequence
    FROM
        oe.customers c
        INNER JOIN
        oe.orders o
            ON c.customer_id = o.customer_id
    WHERE
        o.order_date >= '01-JAN-08'
        AND o.order_date < '01-JAN-09'
    GROUP BY
        c.customer_id,
        (
			c.cust_last_name
			|| ', '
			|| c.cust_first_name
		) 
)
SELECT
    cte.customer_id,
    cte.customer_name,
    cte.order_total,
    cte.order_total_sequence
FROM
    cte
WHERE
    cte.order_total_sequence <= 5
ORDER BY
    3 DESC;

Table and Column Aliases
All relational database management systems maintain documentation to some extent on the use of table and column aliases. You will find that they are meant to increase readability; however, based on the code reviews I have performed in a professional capacity and while perusing posts on popular social media platforms like LinkedIn or video tutorials on YouTube, often the opposite occurs.

Table names are shortened to the point where the the reader must maintain a mapping of single-letter characters or acronyms and the contents of a table (e.g., a for sales force accounts, o for sales force opportunities, sfosnpsht for sales force opportunity snapshot, etc.). For simple queries containing one or few tables, sure, the additional cognitive effort is minimal, but this quickly gets out of control for many real-world queries merging data from a large amount of tables. This is especially true for code that extends beyond a single frame, resulting in the reader needing to scroll back to the initial reference of each table to remember which table the single character maps to. That is both time-consuming and painful.

Column aliases should be used to more effectively communicate its contents. This is often necessary when there is a table that is used by several different teams for reporting purposes. One team refers to the companies they do business with as “clients” while the other refers to those companies as “customers.” Another common use case is derived attributes. The concatenation of customer first and last name in the code above is used to return each customer’s full name. Aliasing for the sake of clarity based on context and/or the result of deriving something is aligned with the goal of maintaining or increasing readability. What is not? Arbitrary removal of characters for the sake of simply making the column name shorter. For example, consider an original column name of “shipping_address” and an alias of “shp_adr.” The removal of characters forces the reader to mentally fill in the gaps based on context and experience.

In the code below, I have completely removed the superfluous table aliases as the original table names, customers and orders, are clear and accurately capture their contents.

WITH cte AS (
    SELECT
        oe.customers.customer_id,
        (
			oe.customers.cust_last_name
			|| ', '
			|| oe.customers.cust_first_name
		) AS customer_name,
        SUM(oe.orders.order_total) AS order_total,
        DENSE_RANK() OVER (
			ORDER BY SUM(oe.orders.order_total) DESC
		) AS order_total_sequence
    FROM
        oe.customers
        INNER JOIN
        oe.orders
            ON oe.customers.customer_id = oe.orders.customer_id
    WHERE
        oe.orders.order_date >= '01-JAN-08'
        AND oe.orders.order_date < '01-JAN-09'
    GROUP BY
        oe.customers.customer_id,
        (
			oe.customers.cust_last_name
			|| ', '
			|| oe.customers.cust_first_name
		)
)
SELECT
    cte.customer_id,
    cte.customer_name,
    cte.order_total,
    cte.order_total_sequence
FROM
    cte
WHERE
    cte.order_total_sequence <= 5
ORDER BY
    3 DESC;

Common Table Expressions
Common table expressions (CTE) allow you to structure SQL code in a way that yields a transparent problem-solving strategy. They allow you to break complex problems down into manageable chunks or subproblems. A common mistake made by SQL users is to underestimate or be unaware of the benefits of providing meaningful names to CTEs. If you perform a quick search for SQL content on any popular social media platform, then you will, without a doubt, come across code containing CTEs named “cte,” “cte_1,” “cte_2,” and other less than useful names.

Avoid squandering the opportunity to inform the reader of your code on the intent or purpose of the CTE. In the code above, the purpose of the code defining “cte” is to compute the amount spent by each customer in year 2008. By providing the CTE with a meaningful name, we can prepare the reader for what is to come and even trigger intuition based on their past experiences in writing or reading code that sought to do the same.

Suppose the CTE is renamed to “customer_spending.” When reading the definition of the CTE, the question goes from, “What is this CTEs purpose?” to “How is this CTE defining and computing customer spend?” Providing meaningful names becomes increasingly important to readability when there are multiple CTEs or they are chained together where the output of one is used as input to another.

Ordinals in GROUP BY and ORDER BY Clauses
If you have read my blog post on the use of ordinals in the GROUP BY and ORDER BY clauses within production code, then you know I find it to be antipattern. For the purposes of this discussion, imagine the code above is lengthier, extending to several scroll frames, and also contains ordinals in GROUP BY clauses. For each GROUP BY and ORDER BY clause, you must be fortunate enough for the columns referenced in those clauses to be within the same frame or to have subconsciously noted the position of each column in the corresponding SELECT clause. Given that both those things are unlikely to occur, as the reader you must scroll back up to determine the attribute being referred to by the ordinal value (e.g., 1, 2, 3, etc.). After placing that information in your working memory, you must then scroll back down to where you left off and continue reading. That does not sound like a fun exercise, does it? Let us not impose that on the readers of our code.

The updated code containing the renamed common table expression and the removal of the ordinal in the ORDER BY clause can be found below.

WITH customer_spending AS (
    SELECT
        oe.customers.customer_id,
        (
			oe.customers.cust_last_name
			|| ', '
			|| oe.customers.cust_first_name
		) AS customer_name,
        SUM(oe.orders.order_total) AS order_total,
        DENSE_RANK() OVER (
			ORDER BY SUM(oe.orders.order_total) DESC
		) AS order_total_sequence
    FROM
        oe.customers
        INNER JOIN
        oe.orders
            ON oe.customers.customer_id = oe.orders.customer_id
    WHERE
        oe.orders.order_date >= '01-JAN-08'
        AND oe.orders.order_date < '01-JAN-09'
    GROUP BY
        oe.customers.customer_id,
        (
			oe.customers.cust_last_name
			|| ', '
			|| oe.customers.cust_first_name
		)
)
SELECT
    customer_spending.customer_id,
    customer_spending.customer_name,
    customer_spending.order_total,
    customer_spending.order_total_sequence
FROM
    customer_spending
WHERE
    customer_spending.order_total_sequence <= 5
ORDER BY
    customer_spending.order_total DESC;

Key Takeaways
To recap, the use of indentation and new lines allows the reader to scan your code in one direction and understand where clauses begin and end. Providing tables with succinct but complete names allow the reader to avoid constructing a mapping for original table names and specified aliases. Similarly, columns with meaningful and context relevant names convey the contents and purpose of each. When using common table expressions, ensure the names provided offer a glimpse into the code defining each. The keystrokes you save by using ordinals are not worth the additional time and effort required of the reader of your code whether that be a peer or your future self. Finally, remember, code is often written once (at least initially) and read many times.

Thank you for visiting SQL Short Reads.






SQL Antipatterns: Using Ordinals in GROUP BY and ORDER BY Clauses

Time to Read:

5–7 minutes

The SQL features available to users across relational database management system products continue to evolve over time. In the past 30 years, features have been developed allowing us to concatenate values existing across multiple rows into a single row using LISTAGG, implement highly customizable ranking systems through window functions, and traverse hierarchal data and perform data scaffolding through recursive common table expressions, among other useful features. The evolving SQL standard along with the continuous improvements made by vendors in the form of proprietary features (e.g., functions) continue to deliver for SQL users; however, these new additions are not without their misses.

MySQL permits users to specify GROUP BY and ORDER BY clauses consisting of expressions representing the ordinal positions of attributes within the corresponding SELECT clause. For example, the query below computes the total sales for each product category within each reporting month and sorts the result set by reporting month and product category. The expressions 1 and 2 within the GROUP BY and ORDER BY clauses state, “GROUP/ORDER the result set by the first and second attributes specified in the SELECT clause.”

SELECT
	CAST(
		DATE_FORMAT(report_date, '%Y-%m-01')
        AS DATE
	) AS reporting_month,
    north_america_sale.product_category,
    SUM(total_sale) AS total_sale
FROM
	north_america_sale
GROUP BY
	1, 2
ORDER BY
	1, 2;
reporting_monthproduct_categorytotal_sale
2023-01-01Hardware10532049
2023-01-01Office Supplies9527596
2023-01-01Software10032955
2023-02-01Hardware7713650
2023-02-01Office Supplies8363496
2023-02-01Software8072274
2023-03-01Hardware10107952
2023-03-01Office Supplies9308036
2023-03-01Software9566038
2023-04-01Hardware9981157
2023-04-01Office Supplies9101319
2023-04-01Software8094593
2023-05-01Hardware8224588
2023-05-01Office Supplies9854939
2023-05-01Software8719227
2023-06-01Hardware8547870
2023-06-01Office Supplies8569213
2023-06-01Software9424211
2023-07-01Hardware8956408
2023-07-01Office Supplies8742601
2023-07-01Software8850498
2023-08-01Hardware9718295
2023-08-01Office Supplies8566646
2023-08-01Software9848671
2023-09-01Hardware9198295
2023-09-01Office Supplies8742664
2023-09-01Software9532093
2023-10-01Hardware9138984
2023-10-01Office Supplies8658959
2023-10-01Software8430418
2023-11-01Hardware9559386
2023-11-01Office Supplies11124204
2023-11-01Software9945806
2023-12-01Hardware9680977
2023-12-01Office Supplies11923226
2023-12-01Software11490082

Had this post a different title and opening, you would likely be rejoicing at the thought of being able to type fewer characters to achieve the same result. Instead, you are skeptical of this perceived benefit and rightly so! Let us explore are few reasons as to why it is an overall bad idea to incorporate this feature into production code.

Explicit is Better than Implicit
If you are also a python user, then you will likely be familiar with the aphorism from the Zen of Python stating explicit is better than implicit. Not all programming best practices should be applied universally across languages; however, this one is particularly relevant to SQL in general and this specific discussion.

Given the example code above, imagine you are not the author of the code, or you are reviewing it again after not setting eyes on it for a long time. You traverse the query line by line and arrive at the GROUP BY clause. Unfortunately, your top-down approach to reading the query is interrupted due to having to retrace your steps back to the SELECT clause to clarify the expressions specified in the GROUP BY clause as indicated by the ordinal values. After clarifying which expressions are specified in the GROUP BY clause, back down to the GROUP BY clause you go. Hopefully, you remember the code you previously read lying between the SELECT clause and the GROUP BY clause. If not, then I guess you will need to read those lines again, too. With any luck, you can complete that mental exercise and can move onto the ORDER BY clause. The fun continues. Do it again. Imagine if the example query above was more complicated and lengthier, requiring you to scroll up and down. Pure joy.

When the ordinal position of expressions in the SELECT clause is relied upon in the GROUP BY or ORDER BY clauses, the code’s readability is decreased. Do yourself and the consumers of your code a favor by explicitly specifying the expressions. Readability counts.

Jenga as a Query
Data pipelines and the processes and scripts that support them are bound to change over time and for good reason. Your data customers are constantly trying to explore their data in different ways in hopes of acquiring a better understanding of it and the processes that generate it. As a result, they may request attributes to be added or removed from tables and views to take them one step closer to meeting that objective. When the ordinal position of expressions in the SELECT clause is relied upon in the GROUP BY or ORDER BY clauses, the code is reduced to an inauspicious game of jenga. It takes but one addition or removal of an attribute to cause the code to fail entirely, or worse, the code is processed successfully and produces a result set that does not meet the customer’s requirements.

For example, suppose your customers have decided they no longer need monthly sales to be broken out by product category. To account for this change, you update the code above by removing the product category attribute from the SELECT clause. As a result of not remembering to also account for this change in the GROUP BY clause, the query comes tumbling down. It fails because the second column within the SELECT clause is now the total sales associated with the reporting month instead of the product category. Additionally, the result set is also inadvertently sorted by the total sales values. This produces no visual net-change; however, the overhead associated with the now unnecessary sort remains.

-- Code fails due to invalid GROUP BY.
SELECT
	CAST(
		DATE_FORMAT(report_date, '%Y-%m-01')
        AS DATE
	) AS reporting_month,
    SUM(total_sale) AS total_sale
FROM
	north_america_sale
GROUP BY
	1, 2
ORDER BY
	1, 2;

If caution is not taken when adding or rearranging attributes within the SELECT clause of queries utilizing ordinals in the ORDER BY clause, then the query can silently fail in terms of meeting requirements. For example, suppose the original query near the top of this page is changed ever so slightly to that shown below.

SELECT
	north_america_sale.product_category,
	CAST(
		DATE_FORMAT(report_date, '%Y-%m-01')
        AS DATE
	) AS reporting_month,
    SUM(total_sale) AS total_sale
FROM
	north_america_sale
GROUP BY
	1, 2
ORDER BY
	1, 2;
product_categoryreporting_monthtotal_sale
Hardware2023-01-0110532049
Hardware2023-02-017713650
Hardware2023-03-0110107952
Hardware2023-04-019981157
Hardware2023-05-018224588
Hardware2023-06-018547870
Hardware2023-07-018956408
Hardware2023-08-019718295
Hardware2023-09-019198295
Hardware2023-10-019138984
Hardware2023-11-019559386
Hardware2023-12-019680977
Office Supplies2023-01-019527596
Office Supplies2023-02-018363496
Office Supplies2023-03-019308036
Office Supplies2023-04-019101319
Office Supplies2023-05-019854939
Office Supplies2023-06-018569213
Office Supplies2023-07-018742601
Office Supplies2023-08-018566646
Office Supplies2023-09-018742664
Office Supplies2023-10-018658959
Office Supplies2023-11-0111124204
Office Supplies2023-12-0111923226
Software2023-01-0110032955
Software2023-02-018072274
Software2023-03-019566038
Software2023-04-018094593
Software2023-05-018719227
Software2023-06-019424211
Software2023-07-018850498
Software2023-08-019848671
Software2023-09-019532093
Software2023-10-018430418
Software2023-11-019945806
Software2023-12-0111490082

Notice the re-ordering of attributes in the SELECT clause. The query produces the same data; however, the result set is not sorted in the same way because the ORDER BY clause remained the same. The original sorting specification allows consumers to easily compare product category sales within each month while the new sorting specification allows consumers to more easily compare a single product category’s performance across the entire year. Ease of use is an important factor for reporting, so customers may deem the sorting to be a key requirement.

Appropriate Use Cases
Taking advantage of ability to use ordinals in the GROUP BY and ORDER BY clause is perfectly acceptable in ad-hoc queries. Exploring a database schema and its corresponding tables? Validating the integrity of the data within a table? Save those keystrokes if you so desire!

Did this post make you laugh because you would never think of using ordinals in your GROUP BY or ORDER BY clauses, cry because you are currently suffering from you or a co-worker having taken advantage of these features, both, or neither? Let me know if the comments section.

Thank you for visiting SQL Short Reads.

No calendar table? No problem!

Time to Read:

7–10 minutes

In my early days as an analyst, I found myself needing to report on various performance measures with seemingly problematic definitions. These measures required computing the time elapsed between two events. One memorable scenario involved monitoring a group’s ability to resolve JIRA tickets within a defined SLA or number of days. Simple enough – right? For each ticket, simply compute the difference between the ticket’s opening date and time and the corresponding closing date and time values. In this case, wrong. The measure’s definition also included the requirement to exclude weekends. This is a fair and logical ask given the associates responsible for resolving the tickets did not work on weekends. The troublesome part was a calendar table containing the necessary data to programmatically differentiate weekdays from weekends did not exist within the database schemas available to me. I had two options, ask the team managing the database containing the JIRA ticket information to create the calendar table or develop another means independently. Due to the urgency of the request and the slim possibility of the database team quickly creating a calendar table, I decided to do the latter.

At the time, my intuition was not all there for this type of problem; however, with some thought, I landed on combining the concepts of recursion and common table expressions (CTE) to solve it. This turned out to be a good option given I did not have CREATE privileges, but it also meant the object containing the calendar data would no longer be a table. The calendar data would need to be generated at query runtime and the temporary named result set (i.e., the output of the CTE) referenced within the query.

Back to the problem. The reporting on JIRA tickets covered those tickets created within the current year and previous year, so I knew I needed the CTE to generate, at a minimum, one row per date value within that timeframe. As far as attributes were concerned, I only needed the date value and an attribute specifying whether the date value corresponded to a weekday or weekend. The code I used to generate the calendar data can be found below. For clarity, see the corresponding output. Keep in mind, this output was generated on February 11th, 2024, 3PM CST.

WITH calendar (date_value, day_name) AS (
    SELECT
        ADD_MONTHS(TRUNC(SYSDATE, 'YEAR'), -12) AS date_value,
    	TRIM(TO_CHAR(ADD_MONTHS(TRUNC(SYSDATE, 'YEAR'), -12), 'DAY')) AS day_name
    FROM
        dual
    UNION ALL
    SELECT
        date_value + 1,
    	TRIM(TO_CHAR(date_value + 1, 'DAY'))
    FROM
        calendar
    WHERE
        calendar.date_value < TRUNC(SYSDATE)
)
SELECT
	date_value,
    day_name
FROM
    calendar;
date_valueday_name
01-JAN-23SUNDAY
02-JAN-23MONDAY
03-JAN-23TUESDAY
04-JAN-23WEDNESDAY
05-JAN-23THURSDAY
06-JAN-23FRIDAY
07-JAN-23SATURDAY
08-JAN-23SUNDAY
09-JAN-23MONDAY
10-JAN-23TUESDAY
11-JAN-23WEDNESDAY
12-JAN-23THURSDAY
13-JAN-23FRIDAY
14-JAN-23SATURDAY
15-JAN-23SUNDAY
16-JAN-23MONDAY
17-JAN-23TUESDAY
18-JAN-23WEDNESDAY
19-JAN-23THURSDAY
20-JAN-23FRIDAY
21-JAN-23SATURDAY
22-JAN-23SUNDAY
23-JAN-23MONDAY
24-JAN-23TUESDAY
25-JAN-23WEDNESDAY
26-JAN-23THURSDAY
27-JAN-23FRIDAY
28-JAN-23SATURDAY
29-JAN-23SUNDAY
30-JAN-23MONDAY
31-JAN-23TUESDAY
01-FEB-23WEDNESDAY
02-FEB-23THURSDAY
03-FEB-23FRIDAY
04-FEB-23SATURDAY
05-FEB-23SUNDAY
06-FEB-23MONDAY
07-FEB-23TUESDAY
08-FEB-23WEDNESDAY
09-FEB-23THURSDAY
10-FEB-23FRIDAY
11-FEB-23SATURDAY
12-FEB-23SUNDAY
13-FEB-23MONDAY
14-FEB-23TUESDAY
15-FEB-23WEDNESDAY
16-FEB-23THURSDAY
17-FEB-23FRIDAY
18-FEB-23SATURDAY
19-FEB-23SUNDAY
20-FEB-23MONDAY
21-FEB-23TUESDAY
22-FEB-23WEDNESDAY
23-FEB-23THURSDAY
24-FEB-23FRIDAY
25-FEB-23SATURDAY
26-FEB-23SUNDAY
27-FEB-23MONDAY
28-FEB-23TUESDAY
01-MAR-23WEDNESDAY
02-MAR-23THURSDAY
03-MAR-23FRIDAY
04-MAR-23SATURDAY
05-MAR-23SUNDAY
06-MAR-23MONDAY
07-MAR-23TUESDAY
08-MAR-23WEDNESDAY
09-MAR-23THURSDAY
10-MAR-23FRIDAY
11-MAR-23SATURDAY
12-MAR-23SUNDAY
13-MAR-23MONDAY
14-MAR-23TUESDAY
15-MAR-23WEDNESDAY
16-MAR-23THURSDAY
17-MAR-23FRIDAY
18-MAR-23SATURDAY
19-MAR-23SUNDAY
20-MAR-23MONDAY
21-MAR-23TUESDAY
22-MAR-23WEDNESDAY
23-MAR-23THURSDAY
24-MAR-23FRIDAY
25-MAR-23SATURDAY
26-MAR-23SUNDAY
27-MAR-23MONDAY
28-MAR-23TUESDAY
29-MAR-23WEDNESDAY
30-MAR-23THURSDAY
31-MAR-23FRIDAY
01-APR-23SATURDAY
02-APR-23SUNDAY
03-APR-23MONDAY
04-APR-23TUESDAY
05-APR-23WEDNESDAY
06-APR-23THURSDAY
07-APR-23FRIDAY
08-APR-23SATURDAY
09-APR-23SUNDAY
10-APR-23MONDAY
11-APR-23TUESDAY
12-APR-23WEDNESDAY
13-APR-23THURSDAY
14-APR-23FRIDAY
15-APR-23SATURDAY
16-APR-23SUNDAY
17-APR-23MONDAY
18-APR-23TUESDAY
19-APR-23WEDNESDAY
20-APR-23THURSDAY
21-APR-23FRIDAY
22-APR-23SATURDAY
23-APR-23SUNDAY
24-APR-23MONDAY
25-APR-23TUESDAY
26-APR-23WEDNESDAY
27-APR-23THURSDAY
28-APR-23FRIDAY
29-APR-23SATURDAY
30-APR-23SUNDAY
01-MAY-23MONDAY
02-MAY-23TUESDAY
03-MAY-23WEDNESDAY
04-MAY-23THURSDAY
05-MAY-23FRIDAY
06-MAY-23SATURDAY
07-MAY-23SUNDAY
08-MAY-23MONDAY
09-MAY-23TUESDAY
10-MAY-23WEDNESDAY
11-MAY-23THURSDAY
12-MAY-23FRIDAY
13-MAY-23SATURDAY
14-MAY-23SUNDAY
15-MAY-23MONDAY
16-MAY-23TUESDAY
17-MAY-23WEDNESDAY
18-MAY-23THURSDAY
19-MAY-23FRIDAY
20-MAY-23SATURDAY
21-MAY-23SUNDAY
22-MAY-23MONDAY
23-MAY-23TUESDAY
24-MAY-23WEDNESDAY
25-MAY-23THURSDAY
26-MAY-23FRIDAY
27-MAY-23SATURDAY
28-MAY-23SUNDAY
29-MAY-23MONDAY
30-MAY-23TUESDAY
31-MAY-23WEDNESDAY
01-JUN-23THURSDAY
02-JUN-23FRIDAY
03-JUN-23SATURDAY
04-JUN-23SUNDAY
05-JUN-23MONDAY
06-JUN-23TUESDAY
07-JUN-23WEDNESDAY
08-JUN-23THURSDAY
09-JUN-23FRIDAY
10-JUN-23SATURDAY
11-JUN-23SUNDAY
12-JUN-23MONDAY
13-JUN-23TUESDAY
14-JUN-23WEDNESDAY
15-JUN-23THURSDAY
16-JUN-23FRIDAY
17-JUN-23SATURDAY
18-JUN-23SUNDAY
19-JUN-23MONDAY
20-JUN-23TUESDAY
21-JUN-23WEDNESDAY
22-JUN-23THURSDAY
23-JUN-23FRIDAY
24-JUN-23SATURDAY
25-JUN-23SUNDAY
26-JUN-23MONDAY
27-JUN-23TUESDAY
28-JUN-23WEDNESDAY
29-JUN-23THURSDAY
30-JUN-23FRIDAY
01-JUL-23SATURDAY
02-JUL-23SUNDAY
03-JUL-23MONDAY
04-JUL-23TUESDAY
05-JUL-23WEDNESDAY
06-JUL-23THURSDAY
07-JUL-23FRIDAY
08-JUL-23SATURDAY
09-JUL-23SUNDAY
10-JUL-23MONDAY
11-JUL-23TUESDAY
12-JUL-23WEDNESDAY
13-JUL-23THURSDAY
14-JUL-23FRIDAY
15-JUL-23SATURDAY
16-JUL-23SUNDAY
17-JUL-23MONDAY
18-JUL-23TUESDAY
19-JUL-23WEDNESDAY
20-JUL-23THURSDAY
21-JUL-23FRIDAY
22-JUL-23SATURDAY
23-JUL-23SUNDAY
24-JUL-23MONDAY
25-JUL-23TUESDAY
26-JUL-23WEDNESDAY
27-JUL-23THURSDAY
28-JUL-23FRIDAY
29-JUL-23SATURDAY
30-JUL-23SUNDAY
31-JUL-23MONDAY
01-AUG-23TUESDAY
02-AUG-23WEDNESDAY
03-AUG-23THURSDAY
04-AUG-23FRIDAY
05-AUG-23SATURDAY
06-AUG-23SUNDAY
07-AUG-23MONDAY
08-AUG-23TUESDAY
09-AUG-23WEDNESDAY
10-AUG-23THURSDAY
11-AUG-23FRIDAY
12-AUG-23SATURDAY
13-AUG-23SUNDAY
14-AUG-23MONDAY
15-AUG-23TUESDAY
16-AUG-23WEDNESDAY
17-AUG-23THURSDAY
18-AUG-23FRIDAY
19-AUG-23SATURDAY
20-AUG-23SUNDAY
21-AUG-23MONDAY
22-AUG-23TUESDAY
23-AUG-23WEDNESDAY
24-AUG-23THURSDAY
25-AUG-23FRIDAY
26-AUG-23SATURDAY
27-AUG-23SUNDAY
28-AUG-23MONDAY
29-AUG-23TUESDAY
30-AUG-23WEDNESDAY
31-AUG-23THURSDAY
01-SEP-23FRIDAY
02-SEP-23SATURDAY
03-SEP-23SUNDAY
04-SEP-23MONDAY
05-SEP-23TUESDAY
06-SEP-23WEDNESDAY
07-SEP-23THURSDAY
08-SEP-23FRIDAY
09-SEP-23SATURDAY
10-SEP-23SUNDAY
11-SEP-23MONDAY
12-SEP-23TUESDAY
13-SEP-23WEDNESDAY
14-SEP-23THURSDAY
15-SEP-23FRIDAY
16-SEP-23SATURDAY
17-SEP-23SUNDAY
18-SEP-23MONDAY
19-SEP-23TUESDAY
20-SEP-23WEDNESDAY
21-SEP-23THURSDAY
22-SEP-23FRIDAY
23-SEP-23SATURDAY
24-SEP-23SUNDAY
25-SEP-23MONDAY
26-SEP-23TUESDAY
27-SEP-23WEDNESDAY
28-SEP-23THURSDAY
29-SEP-23FRIDAY
30-SEP-23SATURDAY
01-OCT-23SUNDAY
02-OCT-23MONDAY
03-OCT-23TUESDAY
04-OCT-23WEDNESDAY
05-OCT-23THURSDAY
06-OCT-23FRIDAY
07-OCT-23SATURDAY
08-OCT-23SUNDAY
09-OCT-23MONDAY
10-OCT-23TUESDAY
11-OCT-23WEDNESDAY
12-OCT-23THURSDAY
13-OCT-23FRIDAY
14-OCT-23SATURDAY
15-OCT-23SUNDAY
16-OCT-23MONDAY
17-OCT-23TUESDAY
18-OCT-23WEDNESDAY
19-OCT-23THURSDAY
20-OCT-23FRIDAY
21-OCT-23SATURDAY
22-OCT-23SUNDAY
23-OCT-23MONDAY
24-OCT-23TUESDAY
25-OCT-23WEDNESDAY
26-OCT-23THURSDAY
27-OCT-23FRIDAY
28-OCT-23SATURDAY
29-OCT-23SUNDAY
30-OCT-23MONDAY
31-OCT-23TUESDAY
01-NOV-23WEDNESDAY
02-NOV-23THURSDAY
03-NOV-23FRIDAY
04-NOV-23SATURDAY
05-NOV-23SUNDAY
06-NOV-23MONDAY
07-NOV-23TUESDAY
08-NOV-23WEDNESDAY
09-NOV-23THURSDAY
10-NOV-23FRIDAY
11-NOV-23SATURDAY
12-NOV-23SUNDAY
13-NOV-23MONDAY
14-NOV-23TUESDAY
15-NOV-23WEDNESDAY
16-NOV-23THURSDAY
17-NOV-23FRIDAY
18-NOV-23SATURDAY
19-NOV-23SUNDAY
20-NOV-23MONDAY
21-NOV-23TUESDAY
22-NOV-23WEDNESDAY
23-NOV-23THURSDAY
24-NOV-23FRIDAY
25-NOV-23SATURDAY
26-NOV-23SUNDAY
27-NOV-23MONDAY
28-NOV-23TUESDAY
29-NOV-23WEDNESDAY
30-NOV-23THURSDAY
01-DEC-23FRIDAY
02-DEC-23SATURDAY
03-DEC-23SUNDAY
04-DEC-23MONDAY
05-DEC-23TUESDAY
06-DEC-23WEDNESDAY
07-DEC-23THURSDAY
08-DEC-23FRIDAY
09-DEC-23SATURDAY
10-DEC-23SUNDAY
11-DEC-23MONDAY
12-DEC-23TUESDAY
13-DEC-23WEDNESDAY
14-DEC-23THURSDAY
15-DEC-23FRIDAY
16-DEC-23SATURDAY
17-DEC-23SUNDAY
18-DEC-23MONDAY
19-DEC-23TUESDAY
20-DEC-23WEDNESDAY
21-DEC-23THURSDAY
22-DEC-23FRIDAY
23-DEC-23SATURDAY
24-DEC-23SUNDAY
25-DEC-23MONDAY
26-DEC-23TUESDAY
27-DEC-23WEDNESDAY
28-DEC-23THURSDAY
29-DEC-23FRIDAY
30-DEC-23SATURDAY
31-DEC-23SUNDAY
01-JAN-24MONDAY
02-JAN-24TUESDAY
03-JAN-24WEDNESDAY
04-JAN-24THURSDAY
05-JAN-24FRIDAY
06-JAN-24SATURDAY
07-JAN-24SUNDAY
08-JAN-24MONDAY
09-JAN-24TUESDAY
10-JAN-24WEDNESDAY
11-JAN-24THURSDAY
12-JAN-24FRIDAY
13-JAN-24SATURDAY
14-JAN-24SUNDAY
15-JAN-24MONDAY
16-JAN-24TUESDAY
17-JAN-24WEDNESDAY
18-JAN-24THURSDAY
19-JAN-24FRIDAY
20-JAN-24SATURDAY
21-JAN-24SUNDAY
22-JAN-24MONDAY
23-JAN-24TUESDAY
24-JAN-24WEDNESDAY
25-JAN-24THURSDAY
26-JAN-24FRIDAY
27-JAN-24SATURDAY
28-JAN-24SUNDAY
29-JAN-24MONDAY
30-JAN-24TUESDAY
31-JAN-24WEDNESDAY
01-FEB-24THURSDAY
02-FEB-24FRIDAY
03-FEB-24SATURDAY
04-FEB-24SUNDAY
05-FEB-24MONDAY
06-FEB-24TUESDAY
07-FEB-24WEDNESDAY
08-FEB-24THURSDAY
09-FEB-24FRIDAY
10-FEB-24SATURDAY
11-FEB-24SUNDAY

To continue this story, I have created a table called ticket_detail containing fictitious information related to JIRA tickets. The fictitious data can be found below. If how I generated this data is of interest to you, then you can click on the icon next to Ticket Generation Code. To hide the data, click the icon again.

ticket_idopen_dateclose_date
102-JAN-23 12.38.25.000000 PM01-JAN-24 09.45.10.000000 PM
202-JAN-23 04.15.32.000000 PM22-MAR-23 12.50.33.000000 AM
302-JAN-23 05.29.33.000000 PM26-SEP-23 02.16.05.000000 PM
403-JAN-23 01.52.55.000000 PM13-MAR-23 07.30.22.000000 AM
505-JAN-23 12.04.07.000000 PM24-JUL-23 11.32.13.000000 PM
605-JAN-23 06.28.19.000000 PM09-NOV-23 10.24.37.000000 PM
706-JAN-23 12.40.47.000000 PM30-JUN-23 02.17.17.000000 PM
809-JAN-23 06.19.28.000000 AM04-SEP-23 04.22.40.000000 AM
909-JAN-23 08.14.27.000000 AM04-APR-23 09.34.11.000000 AM
1009-JAN-23 08.46.27.000000 AM17-NOV-23 10.59.16.000000 AM
1109-JAN-23 09.38.36.000000 AM03-FEB-23 11.33.46.000000 AM
1209-JAN-23 12.51.44.000000 PM12-FEB-24 12.06.01.000000 AM
1309-JAN-23 01.30.07.000000 PM10-MAY-23 08.06.02.000000 PM
1409-JAN-23 02.42.13.000000 PM07-AUG-23 08.27.18.000000 PM
1510-JAN-23 05.02.05.000000 AM07-MAR-23 02.33.32.000000 PM
1611-JAN-23 12.16.35.000000 AM22-MAY-23 03.39.11.000000 PM
1716-JAN-23 02.57.28.000000 AM01-MAR-23 03.09.54.000000 AM
1816-JAN-23 08.26.21.000000 AM22-MAY-23 12.48.20.000000 AM
1917-JAN-23 05.13.04.000000 AM13-JUN-23 03.10.45.000000 PM
2017-JAN-23 11.09.18.000000 PM18-DEC-23 03.51.32.000000 PM
2118-JAN-23 09.22.42.000000 AM13-JUN-23 07.15.46.000000 AM
2219-JAN-23 08.40.14.000000 AM29-JAN-24 10.19.25.000000 AM
2320-JAN-23 02.00.24.000000 PM06-MAR-23 08.48.48.000000 PM
2420-JAN-23 11.38.25.000000 PM13-MAR-23 05.42.47.000000 PM
2523-JAN-23 01.48.03.000000 AM09-JAN-24 08.27.31.000000 PM
2623-JAN-23 03.02.35.000000 AM06-FEB-24 11.00.11.000000 AM
2723-JAN-23 04.13.04.000000 AM04-OCT-23 08.36.09.000000 PM
2823-JAN-23 01.31.15.000000 PM30-NOV-23 09.16.45.000000 AM
2923-JAN-23 03.30.43.000000 PM30-JAN-23 06.51.52.000000 PM
3023-JAN-23 03.37.29.000000 PM22-DEC-23 02.40.08.000000 AM
3123-JAN-23 09.30.22.000000 PM08-MAY-23 05.15.50.000000 AM
3224-JAN-23 04.50.01.000000 AM31-JUL-23 02.09.51.000000 AM
3326-JAN-23 11.21.35.000000 AM09-JUN-23 08.19.38.000000 PM
3426-JAN-23 04.53.10.000000 PM28-MAR-23 04.05.13.000000 AM
3526-JAN-23 06.50.18.000000 PM15-MAY-23 03.46.03.000000 AM
3630-JAN-23 02.12.26.000000 AM12-DEC-23 04.33.02.000000 AM
3730-JAN-23 02.19.45.000000 AM29-DEC-23 03.17.39.000000 AM
3830-JAN-23 07.12.08.000000 AM05-JUN-23 03.44.37.000000 PM
3930-JAN-23 09.24.42.000000 AM25-MAY-23 09.38.17.000000 AM
4031-JAN-23 08.44.06.000000 PM15-JAN-24 10.14.15.000000 AM
4101-FEB-23 08.54.52.000000 AM29-JAN-24 04.03.25.000000 PM
4201-FEB-23 01.36.58.000000 PM01-SEP-23 03.44.57.000000 PM
4302-FEB-23 05.23.01.000000 AM20-SEP-23 02.59.50.000000 AM
4402-FEB-23 12.31.01.000000 PM09-MAY-23 02.31.20.000000 AM
4506-FEB-23 09.39.12.000000 AM06-MAR-23 05.06.16.000000 AM
4606-FEB-23 09.50.13.000000 AM18-JUL-23 06.16.55.000000 AM
4706-FEB-23 03.14.54.000000 PM29-MAR-23 07.02.47.000000 PM
4806-FEB-23 11.30.02.000000 PM22-SEP-23 11.40.30.000000 AM
4907-FEB-23 12.49.10.000000 PM11-SEP-23 02.28.52.000000 AM
5007-FEB-23 03.15.54.000000 PM18-SEP-23 03.11.28.000000 PM
5108-FEB-23 03.21.53.000000 AM24-APR-23 03.21.06.000000 AM
5208-FEB-23 07.13.38.000000 AM04-DEC-23 02.20.29.000000 PM
5308-FEB-23 12.58.54.000000 PM23-NOV-23 12.19.42.000000 AM
5413-FEB-23 07.16.56.000000 AM15-NOV-23 06.46.10.000000 PM
5513-FEB-23 08.39.21.000000 AM06-NOV-23 06.25.11.000000 AM
5613-FEB-23 12.18.08.000000 PM30-AUG-23 10.39.19.000000 AM
5713-FEB-23 04.39.56.000000 PM04-OCT-23 05.34.07.000000 AM
5813-FEB-23 05.55.49.000000 PM25-SEP-23 06.06.58.000000 AM
5915-FEB-23 04.43.04.000000 AM22-FEB-23 01.12.28.000000 AM
6015-FEB-23 02.46.38.000000 PM26-OCT-23 09.25.58.000000 PM
6115-FEB-23 08.56.48.000000 PM17-NOV-23 10.22.35.000000 PM
6216-FEB-23 03.05.10.000000 AM29-JAN-24 03.38.49.000000 PM
6316-FEB-23 09.18.58.000000 AM11-DEC-23 10.03.05.000000 PM
6417-FEB-23 04.46.24.000000 PM12-FEB-24 06.35.38.000000 AM
6520-FEB-23 06.55.46.000000 AM05-FEB-24 09.08.10.000000 AM
6620-FEB-23 09.05.56.000000 AM17-APR-23 06.19.26.000000 AM
6720-FEB-23 04.24.11.000000 PM05-JUN-23 12.31.15.000000 PM
6821-FEB-23 08.26.46.000000 PM02-JAN-24 05.11.25.000000 AM
6922-FEB-23 11.39.41.000000 PM05-FEB-24 11.43.26.000000 PM
7023-FEB-23 03.31.18.000000 AM23-OCT-23 08.18.22.000000 PM
7124-FEB-23 06.00.28.000000 PM04-OCT-23 09.04.10.000000 PM
7227-FEB-23 05.05.30.000000 AM06-MAR-23 10.09.31.000000 AM
7327-FEB-23 10.04.10.000000 AM10-JUL-23 12.42.58.000000 PM
7427-FEB-23 10.51.49.000000 AM02-AUG-23 07.39.24.000000 PM
7527-FEB-23 12.23.23.000000 PM14-AUG-23 04.48.08.000000 PM
7627-FEB-23 08.46.42.000000 PM20-NOV-23 09.07.15.000000 AM
7727-FEB-23 10.50.08.000000 PM31-JUL-23 02.49.07.000000 PM
7828-FEB-23 03.50.16.000000 AM24-JAN-24 04.04.05.000000 AM
7901-MAR-23 06.03.55.000000 AM21-NOV-23 03.04.21.000000 PM
8001-MAR-23 11.53.19.000000 PM15-JAN-24 09.15.25.000000 PM
8102-MAR-23 09.07.32.000000 AM16-NOV-23 08.27.22.000000 PM
8206-MAR-23 04.48.37.000000 AM24-AUG-23 03.08.31.000000 AM
8306-MAR-23 02.51.26.000000 PM25-DEC-23 09.24.27.000000 PM
8406-MAR-23 04.22.54.000000 PM23-MAY-23 06.47.35.000000 PM
8506-MAR-23 11.16.07.000000 PM14-MAR-23 02.38.01.000000 PM
8607-MAR-23 08.37.15.000000 AM07-JUN-23 09.15.25.000000 AM
8709-MAR-23 07.16.51.000000 PM06-NOV-23 10.22.35.000000 AM
8810-MAR-23 05.12.33.000000 AM13-JUN-23 12.58.49.000000 AM
8910-MAR-23 05.41.31.000000 AM13-NOV-23 08.30.42.000000 PM
9010-MAR-23 11.24.18.000000 AM21-AUG-23 08.54.22.000000 PM
9110-MAR-23 06.14.26.000000 PM26-MAY-23 07.16.22.000000 PM
9213-MAR-23 10.30.47.000000 AM17-AUG-23 07.58.34.000000 PM
9313-MAR-23 01.07.13.000000 PM23-JAN-24 11.33.50.000000 PM
9413-MAR-23 01.41.33.000000 PM14-APR-23 08.06.26.000000 AM
9513-MAR-23 08.05.42.000000 PM08-JAN-24 07.07.10.000000 AM
9613-MAR-23 09.19.16.000000 PM06-FEB-24 11.21.36.000000 PM
9714-MAR-23 02.13.43.000000 PM15-MAR-23 01.15.08.000000 AM
9814-MAR-23 06.35.22.000000 PM08-DEC-23 11.24.29.000000 AM
9916-MAR-23 03.25.05.000000 AM15-DEC-23 09.58.47.000000 AM
10017-MAR-23 11.51.51.000000 AM16-OCT-23 05.53.05.000000 AM
10120-MAR-23 07.55.47.000000 AM15-MAY-23 11.03.10.000000 AM
10221-MAR-23 06.21.04.000000 PM29-DEC-23 05.51.10.000000 AM
10323-MAR-23 08.09.08.000000 AM01-FEB-24 10.08.30.000000 AM
10423-MAR-23 08.13.36.000000 AM14-DEC-23 04.24.33.000000 AM
10527-MAR-23 07.18.55.000000 AM21-NOV-23 02.34.22.000000 AM
10627-MAR-23 12.37.04.000000 PM05-JUN-23 05.12.41.000000 AM
10727-MAR-23 08.48.14.000000 PM01-JAN-24 10.53.22.000000 PM
10827-MAR-23 11.15.10.000000 PM04-DEC-23 03.36.51.000000 PM
10927-MAR-23 11.19.50.000000 PM28-AUG-23 02.37.15.000000 PM
11028-MAR-23 02.46.49.000000 AM15-AUG-23 08.48.35.000000 PM
11103-APR-23 04.17.40.000000 PM12-DEC-23 08.11.02.000000 AM
11204-APR-23 11.27.40.000000 AM21-AUG-23 01.52.52.000000 PM
11304-APR-23 03.11.07.000000 PM24-AUG-23 05.24.31.000000 AM
11405-APR-23 12.45.37.000000 PM30-MAY-23 04.05.12.000000 PM
11510-APR-23 06.46.49.000000 AM25-SEP-23 05.52.31.000000 AM
11610-APR-23 07.48.41.000000 AM22-AUG-23 08.47.41.000000 AM
11710-APR-23 10.12.54.000000 AM01-JAN-24 06.13.30.000000 PM
11810-APR-23 07.28.31.000000 PM23-JUN-23 01.11.13.000000 AM
11910-APR-23 09.22.42.000000 PM25-SEP-23 08.41.49.000000 AM
12012-APR-23 07.27.49.000000 AM26-MAY-23 10.31.24.000000 AM
12112-APR-23 06.07.33.000000 PM07-AUG-23 10.47.47.000000 PM
12213-APR-23 01.53.12.000000 AM21-AUG-23 08.32.36.000000 PM
12317-APR-23 12.08.14.000000 AM02-AUG-23 06.35.58.000000 PM
12417-APR-23 04.45.48.000000 PM11-DEC-23 06.46.04.000000 AM
12517-APR-23 10.03.20.000000 PM03-OCT-23 11.52.20.000000 PM
12618-APR-23 02.35.52.000000 PM02-AUG-23 10.46.23.000000 PM
12718-APR-23 05.05.48.000000 PM02-JUN-23 08.37.38.000000 AM
12819-APR-23 11.47.46.000000 AM21-AUG-23 06.12.40.000000 AM
12919-APR-23 12.34.59.000000 PM03-JUL-23 01.09.18.000000 PM
13019-APR-23 08.24.09.000000 PM05-OCT-23 12.25.47.000000 PM
13121-APR-23 06.54.52.000000 PM12-FEB-24 05.07.15.000000 AM
13221-APR-23 09.49.18.000000 PM05-JUN-23 07.58.12.000000 PM
13324-APR-23 12.30.19.000000 PM29-JUN-23 02.55.29.000000 PM
13424-APR-23 02.21.53.000000 PM11-SEP-23 05.33.17.000000 AM
13524-APR-23 06.10.26.000000 PM17-NOV-23 08.28.46.000000 AM
13625-APR-23 12.30.30.000000 AM21-NOV-23 04.53.23.000000 AM
13726-APR-23 09.00.25.000000 AM05-FEB-24 04.35.08.000000 AM
13827-APR-23 12.17.57.000000 PM02-JAN-24 06.24.45.000000 AM
13928-APR-23 08.36.32.000000 AM19-OCT-23 03.13.44.000000 PM
14028-APR-23 05.14.30.000000 PM14-NOV-23 11.11.42.000000 PM
14101-MAY-23 04.57.58.000000 AM19-JUL-23 07.15.48.000000 AM
14201-MAY-23 08.17.16.000000 AM21-DEC-23 08.00.38.000000 PM
14301-MAY-23 11.36.59.000000 AM26-JAN-24 12.46.27.000000 PM
14401-MAY-23 11.05.34.000000 PM16-AUG-23 08.25.22.000000 AM
14502-MAY-23 10.00.05.000000 PM01-AUG-23 07.57.50.000000 AM
14603-MAY-23 02.03.24.000000 AM04-DEC-23 10.11.24.000000 PM
14703-MAY-23 06.42.11.000000 AM22-JAN-24 04.11.35.000000 AM
14803-MAY-23 08.05.50.000000 AM20-NOV-23 10.41.48.000000 PM
14903-MAY-23 08.20.59.000000 AM01-JAN-24 01.14.51.000000 AM
15004-MAY-23 01.37.34.000000 AM14-AUG-23 12.14.28.000000 PM
15104-MAY-23 12.52.11.000000 PM10-JAN-24 09.44.50.000000 PM
15208-MAY-23 03.43.43.000000 AM18-DEC-23 06.13.13.000000 PM
15308-MAY-23 08.02.09.000000 AM03-NOV-23 11.13.14.000000 PM
15408-MAY-23 07.22.14.000000 PM23-NOV-23 04.03.40.000000 PM
15509-MAY-23 11.57.02.000000 AM19-JUN-23 03.46.16.000000 AM
15610-MAY-23 08.41.46.000000 AM16-MAY-23 10.06.34.000000 PM
15710-MAY-23 08.40.04.000000 PM01-AUG-23 03.42.15.000000 AM
15811-MAY-23 07.08.42.000000 AM24-JUL-23 08.58.34.000000 AM
15911-MAY-23 03.16.37.000000 PM11-JUL-23 02.05.05.000000 AM
16015-MAY-23 06.53.21.000000 AM03-NOV-23 12.09.34.000000 PM
16115-MAY-23 11.55.54.000000 AM14-SEP-23 06.54.38.000000 PM
16215-MAY-23 01.19.25.000000 PM13-SEP-23 09.15.13.000000 AM
16315-MAY-23 02.22.25.000000 PM18-DEC-23 08.31.48.000000 AM
16415-MAY-23 07.21.19.000000 PM04-SEP-23 05.11.49.000000 PM
16517-MAY-23 01.58.49.000000 AM28-AUG-23 07.28.46.000000 AM
16619-MAY-23 04.37.03.000000 AM25-SEP-23 07.30.40.000000 PM
16719-MAY-23 07.17.30.000000 AM06-OCT-23 02.19.02.000000 AM
16819-MAY-23 04.04.52.000000 PM25-SEP-23 01.24.20.000000 PM
16922-MAY-23 06.25.52.000000 AM29-AUG-23 08.34.30.000000 PM
17023-MAY-23 01.27.03.000000 AM02-OCT-23 09.10.44.000000 AM
17123-MAY-23 08.22.15.000000 AM22-SEP-23 08.59.23.000000 AM
17224-MAY-23 08.14.08.000000 AM27-OCT-23 03.23.59.000000 PM
17324-MAY-23 08.47.03.000000 PM26-JUN-23 12.53.47.000000 PM
17425-MAY-23 04.27.23.000000 AM29-MAY-23 07.10.07.000000 PM
17525-MAY-23 05.52.24.000000 AM28-AUG-23 04.02.09.000000 PM
17625-MAY-23 08.29.02.000000 AM05-JAN-24 12.48.01.000000 AM
17726-MAY-23 01.27.28.000000 AM15-JAN-24 07.48.11.000000 AM
17826-MAY-23 01.37.34.000000 AM07-SEP-23 02.48.01.000000 PM
17926-MAY-23 02.03.02.000000 PM24-JUL-23 07.10.41.000000 PM
18029-MAY-23 11.02.16.000000 AM03-JUL-23 03.23.48.000000 PM
18129-MAY-23 12.55.36.000000 PM21-DEC-23 02.00.49.000000 AM
18229-MAY-23 04.44.02.000000 PM27-JUL-23 08.21.44.000000 PM
18329-MAY-23 05.00.52.000000 PM19-JUL-23 10.33.27.000000 PM
18429-MAY-23 06.07.20.000000 PM08-NOV-23 05.48.05.000000 AM
18529-MAY-23 07.50.18.000000 PM25-OCT-23 01.22.13.000000 AM
18630-MAY-23 08.15.07.000000 AM28-JUN-23 11.56.01.000000 PM
18730-MAY-23 04.33.30.000000 PM01-AUG-23 06.53.49.000000 PM
18802-JUN-23 02.28.41.000000 PM23-OCT-23 07.50.21.000000 PM
18905-JUN-23 01.58.04.000000 AM19-SEP-23 08.14.56.000000 PM
19005-JUN-23 12.02.39.000000 PM10-NOV-23 06.28.16.000000 AM
19105-JUN-23 02.07.26.000000 PM21-AUG-23 09.21.56.000000 PM
19205-JUN-23 11.16.05.000000 PM10-JAN-24 05.10.29.000000 AM
19306-JUN-23 07.57.47.000000 AM31-JUL-23 10.57.12.000000 AM
19408-JUN-23 11.44.19.000000 PM17-JUL-23 06.17.02.000000 PM
19509-JUN-23 06.27.26.000000 AM11-SEP-23 12.53.08.000000 PM
19609-JUN-23 04.09.56.000000 PM29-JUN-23 03.30.54.000000 AM
19712-JUN-23 03.13.46.000000 AM27-JUL-23 06.41.26.000000 AM
19812-JUN-23 03.27.50.000000 AM17-JAN-24 05.37.43.000000 PM
19912-JUN-23 11.46.29.000000 AM12-FEB-24 06.52.49.000000 AM
20012-JUN-23 11.49.05.000000 AM03-AUG-23 04.01.51.000000 PM
20112-JUN-23 03.30.34.000000 PM03-OCT-23 01.49.21.000000 AM
20214-JUN-23 01.37.21.000000 AM10-JUL-23 11.33.34.000000 AM
20315-JUN-23 05.57.30.000000 AM28-SEP-23 06.11.28.000000 AM
20416-JUN-23 07.27.39.000000 PM16-OCT-23 07.16.21.000000 PM
20519-JUN-23 06.36.55.000000 AM25-OCT-23 06.59.53.000000 AM
20619-JUN-23 10.30.52.000000 AM27-DEC-23 02.39.18.000000 PM
20719-JUN-23 03.05.49.000000 PM27-OCT-23 02.13.08.000000 PM
20819-JUN-23 05.18.23.000000 PM04-SEP-23 06.27.43.000000 AM
20919-JUN-23 08.34.25.000000 PM19-DEC-23 11.54.28.000000 AM
21020-JUN-23 10.17.37.000000 AM06-OCT-23 09.19.53.000000 PM
21120-JUN-23 04.40.17.000000 PM15-AUG-23 10.22.49.000000 PM
21221-JUN-23 04.17.37.000000 PM28-AUG-23 08.30.37.000000 PM
21321-JUN-23 09.04.34.000000 PM15-AUG-23 07.23.22.000000 AM
21422-JUN-23 02.47.06.000000 AM06-NOV-23 07.09.01.000000 AM
21522-JUN-23 03.20.51.000000 AM03-JUL-23 07.20.13.000000 AM
21622-JUN-23 09.26.38.000000 PM27-JUN-23 01.30.58.000000 AM
21723-JUN-23 08.04.54.000000 PM17-JUL-23 11.15.02.000000 PM
21826-JUN-23 04.35.16.000000 AM26-OCT-23 05.52.45.000000 AM
21926-JUN-23 08.26.31.000000 AM24-JAN-24 07.42.24.000000 PM
22026-JUN-23 09.34.12.000000 AM18-OCT-23 12.15.08.000000 PM
22126-JUN-23 10.54.26.000000 PM12-DEC-23 03.40.35.000000 PM
22227-JUN-23 11.09.50.000000 AM27-NOV-23 07.11.55.000000 AM
22327-JUN-23 05.09.15.000000 PM12-DEC-23 01.24.41.000000 PM
22428-JUN-23 12.11.25.000000 PM09-JAN-24 01.41.34.000000 AM
22528-JUN-23 01.23.34.000000 PM11-OCT-23 01.40.52.000000 AM
22628-JUN-23 11.23.20.000000 PM18-AUG-23 08.23.30.000000 AM
22703-JUL-23 12.45.29.000000 AM20-NOV-23 04.35.06.000000 PM
22803-JUL-23 01.06.49.000000 AM30-JAN-24 04.16.17.000000 AM
22903-JUL-23 01.32.37.000000 AM18-AUG-23 11.54.01.000000 AM
23003-JUL-23 04.19.22.000000 AM14-JUL-23 12.40.24.000000 AM
23103-JUL-23 06.48.03.000000 AM16-AUG-23 01.13.13.000000 PM
23203-JUL-23 09.09.40.000000 AM03-JUL-23 06.37.38.000000 AM
23304-JUL-23 03.42.49.000000 AM08-DEC-23 03.25.22.000000 PM
23404-JUL-23 02.01.07.000000 PM14-JUL-23 09.03.50.000000 AM
23506-JUL-23 03.14.47.000000 PM20-JUL-23 02.32.36.000000 PM
23606-JUL-23 07.15.25.000000 PM21-AUG-23 11.05.32.000000 AM
23706-JUL-23 08.05.44.000000 PM01-FEB-24 08.18.37.000000 AM
23807-JUL-23 02.23.50.000000 AM14-JUL-23 01.18.40.000000 PM
23910-JUL-23 07.27.43.000000 PM28-AUG-23 06.51.09.000000 PM
24010-JUL-23 10.59.44.000000 PM25-DEC-23 03.16.41.000000 AM
24111-JUL-23 09.44.48.000000 PM21-NOV-23 03.45.05.000000 AM
24212-JUL-23 12.36.07.000000 AM07-FEB-24 01.40.07.000000 PM
24312-JUL-23 02.02.01.000000 PM30-OCT-23 11.29.37.000000 AM
24414-JUL-23 10.17.56.000000 AM14-JUL-23 06.30.00.000000 PM
24517-JUL-23 04.37.05.000000 AM15-AUG-23 02.06.30.000000 PM
24617-JUL-23 09.23.37.000000 AM05-FEB-24 12.01.18.000000 PM
24717-JUL-23 03.37.26.000000 PM11-DEC-23 08.26.39.000000 PM
24817-JUL-23 03.49.27.000000 PM31-JUL-23 07.45.17.000000 AM
24917-JUL-23 07.56.38.000000 PM14-SEP-23 09.39.57.000000 AM
25018-JUL-23 05.09.13.000000 AM11-DEC-23 05.09.54.000000 PM
25118-JUL-23 06.05.49.000000 PM24-JUL-23 08.21.39.000000 PM
25219-JUL-23 10.39.48.000000 AM22-JAN-24 05.26.29.000000 AM
25319-JUL-23 10.08.47.000000 PM18-DEC-23 07.34.11.000000 PM
25421-JUL-23 02.33.35.000000 PM15-NOV-23 04.23.22.000000 PM
25524-JUL-23 10.06.07.000000 AM03-AUG-23 03.36.37.000000 AM
25624-JUL-23 11.14.15.000000 AM22-AUG-23 11.15.34.000000 AM
25724-JUL-23 11.43.32.000000 AM04-DEC-23 05.45.56.000000 PM
25824-JUL-23 09.01.35.000000 PM22-NOV-23 02.20.43.000000 AM
25924-JUL-23 09.23.51.000000 PM25-JAN-24 10.04.08.000000 AM
26026-JUL-23 08.06.45.000000 AM05-SEP-23 01.43.31.000000 PM
26126-JUL-23 08.55.19.000000 AM09-NOV-23 12.34.35.000000 AM
26226-JUL-23 06.29.02.000000 PM21-NOV-23 12.01.03.000000 PM
26326-JUL-23 07.29.43.000000 PM12-SEP-23 03.51.27.000000 AM
26427-JUL-23 06.56.56.000000 PM16-OCT-23 06.38.48.000000 PM
26528-JUL-23 05.12.08.000000 PM02-OCT-23 01.18.55.000000 AM
26631-JUL-23 05.26.08.000000 AM30-NOV-23 11.17.07.000000 AM
26731-JUL-23 07.44.03.000000 AM04-JAN-24 03.59.43.000000 AM
26831-JUL-23 10.07.48.000000 AM01-JAN-24 02.48.38.000000 AM
26931-JUL-23 12.04.26.000000 PM27-SEP-23 11.35.46.000000 PM
27031-JUL-23 02.35.09.000000 PM24-AUG-23 06.36.12.000000 AM
27131-JUL-23 04.22.05.000000 PM06-FEB-24 02.46.39.000000 AM
27231-JUL-23 06.35.39.000000 PM18-SEP-23 05.51.34.000000 AM
27301-AUG-23 12.04.38.000000 AM25-JAN-24 03.04.02.000000 AM
27401-AUG-23 07.28.22.000000 PM30-OCT-23 11.45.12.000000 PM
27501-AUG-23 10.09.25.000000 PM06-NOV-23 11.40.21.000000 PM
27602-AUG-23 11.37.54.000000 AM29-DEC-23 06.53.06.000000 PM
27702-AUG-23 05.46.45.000000 PM28-AUG-23 12.47.23.000000 AM
27803-AUG-23 07.43.07.000000 AM03-OCT-23 05.16.39.000000 PM
27903-AUG-23 09.00.38.000000 AM02-JAN-24 08.41.45.000000 PM
28003-AUG-23 04.00.23.000000 PM17-OCT-23 09.07.27.000000 PM
28107-AUG-23 12.55.53.000000 AM14-DEC-23 05.59.42.000000 PM
28207-AUG-23 04.40.45.000000 AM06-NOV-23 03.43.00.000000 PM
28307-AUG-23 06.06.08.000000 PM05-OCT-23 12.48.19.000000 PM
28408-AUG-23 10.07.45.000000 AM27-OCT-23 08.21.59.000000 AM
28510-AUG-23 07.37.37.000000 AM02-OCT-23 08.18.05.000000 AM
28611-AUG-23 08.36.36.000000 AM29-AUG-23 09.43.52.000000 PM
28711-AUG-23 11.06.35.000000 PM26-SEP-23 12.40.12.000000 PM
28814-AUG-23 04.12.10.000000 AM11-SEP-23 12.12.13.000000 AM
28914-AUG-23 07.08.16.000000 AM12-FEB-24 09.02.45.000000 AM
29014-AUG-23 09.41.31.000000 AM20-SEP-23 09.30.38.000000 AM
29114-AUG-23 08.14.01.000000 PM24-NOV-23 01.16.46.000000 PM
29218-AUG-23 01.40.53.000000 PM18-SEP-23 09.05.54.000000 PM
29321-AUG-23 02.42.45.000000 AM03-OCT-23 11.37.27.000000 AM
29421-AUG-23 08.17.27.000000 PM28-AUG-23 10.37.20.000000 PM
29522-AUG-23 12.13.50.000000 PM31-JAN-24 04.23.57.000000 AM
29622-AUG-23 05.27.48.000000 PM22-JAN-24 12.29.39.000000 AM
29723-AUG-23 03.08.28.000000 PM13-SEP-23 04.38.59.000000 AM
29824-AUG-23 03.29.13.000000 AM09-FEB-24 01.21.30.000000 PM
29925-AUG-23 06.40.19.000000 AM27-NOV-23 10.49.53.000000 AM
30028-AUG-23 01.59.35.000000 AM11-JAN-24 04.15.39.000000 PM
30128-AUG-23 02.18.58.000000 AM13-SEP-23 10.16.40.000000 AM
30228-AUG-23 04.25.59.000000 AM20-NOV-23 09.42.53.000000 AM
30328-AUG-23 06.17.49.000000 AM11-DEC-23 07.06.35.000000 AM
30428-AUG-23 02.03.24.000000 PM18-JAN-24 08.30.40.000000 AM
30530-AUG-23 03.16.21.000000 PM09-NOV-23 08.48.39.000000 PM
30601-SEP-23 01.25.09.000000 AM29-DEC-23 03.46.00.000000 PM
30704-SEP-23 12.44.07.000000 AM30-OCT-23 12.35.03.000000 PM
30804-SEP-23 01.03.32.000000 AM25-SEP-23 12.28.31.000000 PM
30904-SEP-23 01.09.29.000000 AM22-NOV-23 01.19.49.000000 AM
31004-SEP-23 06.48.09.000000 PM20-SEP-23 07.56.28.000000 AM
31105-SEP-23 09.57.16.000000 PM26-SEP-23 01.17.54.000000 AM
31211-SEP-23 07.31.56.000000 PM09-OCT-23 03.19.03.000000 PM
31311-SEP-23 07.34.40.000000 PM17-JAN-24 06.23.22.000000 AM
31411-SEP-23 09.15.57.000000 PM04-DEC-23 03.40.59.000000 PM
31512-SEP-23 12.45.04.000000 AM30-JAN-24 12.58.57.000000 AM
31612-SEP-23 01.23.47.000000 PM25-OCT-23 10.29.26.000000 PM
31712-SEP-23 03.00.30.000000 PM01-DEC-23 10.40.20.000000 PM
31813-SEP-23 01.04.02.000000 AM13-OCT-23 03.15.49.000000 AM
31913-SEP-23 05.32.30.000000 AM01-DEC-23 06.30.35.000000 AM
32013-SEP-23 11.23.06.000000 AM29-SEP-23 01.47.27.000000 AM
32113-SEP-23 05.17.23.000000 PM09-OCT-23 07.01.52.000000 AM
32214-SEP-23 12.49.47.000000 AM28-DEC-23 09.38.57.000000 AM
32315-SEP-23 02.58.39.000000 PM07-FEB-24 12.14.03.000000 PM
32418-SEP-23 07.07.46.000000 AM25-DEC-23 07.12.54.000000 PM
32518-SEP-23 12.31.24.000000 PM03-OCT-23 05.11.25.000000 PM
32618-SEP-23 05.46.02.000000 PM18-OCT-23 07.00.51.000000 PM
32718-SEP-23 09.15.04.000000 PM24-NOV-23 04.01.52.000000 AM
32818-SEP-23 11.47.17.000000 PM30-NOV-23 12.34.31.000000 PM
32919-SEP-23 03.13.32.000000 AM26-JAN-24 04.28.37.000000 PM
33020-SEP-23 12.12.13.000000 AM10-OCT-23 01.42.45.000000 PM
33121-SEP-23 10.24.41.000000 PM20-DEC-23 08.44.58.000000 AM
33222-SEP-23 09.22.37.000000 AM28-DEC-23 03.30.31.000000 PM
33325-SEP-23 04.48.12.000000 AM03-NOV-23 11.20.15.000000 PM
33426-SEP-23 06.20.53.000000 AM08-NOV-23 03.26.54.000000 AM
33527-SEP-23 07.38.59.000000 AM29-JAN-24 10.49.01.000000 AM
33628-SEP-23 11.01.09.000000 AM04-JAN-24 03.38.05.000000 PM
33702-OCT-23 05.52.38.000000 AM01-JAN-24 03.04.13.000000 AM
33802-OCT-23 07.26.33.000000 PM11-JAN-24 10.09.55.000000 PM
33902-OCT-23 08.20.41.000000 PM01-DEC-23 06.07.54.000000 AM
34003-OCT-23 11.24.33.000000 PM06-NOV-23 03.32.45.000000 PM
34106-OCT-23 03.50.14.000000 AM06-NOV-23 01.54.19.000000 PM
34206-OCT-23 10.19.31.000000 PM07-DEC-23 03.55.42.000000 AM
34309-OCT-23 11.40.20.000000 PM14-DEC-23 01.37.20.000000 PM
34410-OCT-23 12.35.17.000000 AM20-NOV-23 11.51.17.000000 AM
34510-OCT-23 01.03.32.000000 AM12-OCT-23 07.51.16.000000 PM
34612-OCT-23 12.17.27.000000 AM15-JAN-24 10.03.10.000000 AM
34712-OCT-23 03.25.06.000000 AM25-DEC-23 05.21.09.000000 PM
34813-OCT-23 08.25.07.000000 AM24-NOV-23 04.22.28.000000 AM
34913-OCT-23 03.41.14.000000 PM03-NOV-23 03.58.42.000000 PM
35016-OCT-23 04.57.33.000000 AM25-DEC-23 03.29.21.000000 AM
35116-OCT-23 07.15.48.000000 AM26-DEC-23 07.35.14.000000 PM
35218-OCT-23 01.49.43.000000 AM12-FEB-24 03.39.41.000000 PM
35318-OCT-23 11.50.35.000000 AM29-NOV-23 11.57.31.000000 AM
35419-OCT-23 12.50.15.000000 AM10-JAN-24 06.56.56.000000 AM
35519-OCT-23 10.52.02.000000 AM08-JAN-24 07.02.07.000000 PM
35619-OCT-23 08.58.56.000000 PM30-OCT-23 04.13.22.000000 PM
35723-OCT-23 02.41.02.000000 AM23-NOV-23 06.43.48.000000 AM
35823-OCT-23 04.46.56.000000 AM25-DEC-23 11.12.59.000000 PM
35923-OCT-23 07.54.10.000000 PM23-JAN-24 11.48.10.000000 PM
36023-OCT-23 10.05.01.000000 PM18-DEC-23 05.48.52.000000 PM
36124-OCT-23 04.11.19.000000 PM05-FEB-24 11.16.03.000000 PM
36224-OCT-23 11.47.50.000000 PM21-NOV-23 06.47.01.000000 AM
36326-OCT-23 02.42.02.000000 AM27-DEC-23 10.12.26.000000 AM
36426-OCT-23 05.54.01.000000 AM20-DEC-23 03.41.59.000000 PM
36526-OCT-23 01.06.12.000000 PM24-NOV-23 01.50.30.000000 PM
36626-OCT-23 06.44.26.000000 PM18-DEC-23 10.31.13.000000 PM
36726-OCT-23 09.14.11.000000 PM13-NOV-23 04.33.44.000000 AM
36827-OCT-23 04.07.32.000000 AM07-FEB-24 09.31.46.000000 AM
36930-OCT-23 03.31.01.000000 AM13-NOV-23 01.23.12.000000 PM
37030-OCT-23 10.42.37.000000 AM15-JAN-24 07.23.32.000000 AM
37130-OCT-23 05.43.31.000000 PM03-JAN-24 06.05.57.000000 PM
37230-OCT-23 07.43.53.000000 PM08-JAN-24 04.24.18.000000 PM
37330-OCT-23 11.06.39.000000 PM29-JAN-24 09.35.03.000000 PM
37401-NOV-23 02.38.25.000000 AM01-FEB-24 12.01.01.000000 AM
37502-NOV-23 10.52.37.000000 AM12-DEC-23 01.41.45.000000 PM
37602-NOV-23 01.44.37.000000 PM27-NOV-23 02.14.17.000000 AM
37703-NOV-23 02.04.48.000000 AM15-JAN-24 08.42.41.000000 PM
37803-NOV-23 04.53.53.000000 PM15-NOV-23 09.47.45.000000 AM
37906-NOV-23 02.32.47.000000 AM05-FEB-24 01.43.58.000000 PM
38006-NOV-23 06.52.31.000000 AM22-DEC-23 11.59.36.000000 AM
38106-NOV-23 08.01.49.000000 AM24-JAN-24 02.45.10.000000 AM
38206-NOV-23 04.29.01.000000 PM19-DEC-23 09.59.27.000000 AM
38306-NOV-23 07.04.16.000000 PM21-DEC-23 07.00.43.000000 AM
38407-NOV-23 10.47.29.000000 AM09-NOV-23 07.15.45.000000 AM
38509-NOV-23 07.45.12.000000 PM29-JAN-24 03.23.16.000000 PM
38613-NOV-23 04.59.00.000000 AM19-DEC-23 01.33.46.000000 AM
38713-NOV-23 04.47.35.000000 PM19-JAN-24 01.59.51.000000 AM
38813-NOV-23 09.49.55.000000 PM08-FEB-24 08.49.53.000000 PM
38914-NOV-23 01.37.10.000000 AM16-JAN-24 10.25.53.000000 PM
39014-NOV-23 07.45.11.000000 AM15-DEC-23 11.22.04.000000 AM
39114-NOV-23 07.25.12.000000 PM26-JAN-24 04.56.27.000000 AM
39215-NOV-23 03.45.32.000000 PM29-JAN-24 09.00.47.000000 PM
39316-NOV-23 03.14.22.000000 AM22-JAN-24 10.57.48.000000 AM
39417-NOV-23 12.31.12.000000 AM23-JAN-24 12.51.41.000000 AM
39520-NOV-23 01.53.10.000000 PM13-DEC-23 07.17.20.000000 PM
39621-NOV-23 03.19.17.000000 AM26-JAN-24 09.22.13.000000 AM
39721-NOV-23 03.50.59.000000 PM22-DEC-23 11.41.47.000000 AM
39821-NOV-23 07.33.14.000000 PM29-JAN-24 10.21.37.000000 AM
39922-NOV-23 03.48.01.000000 PM26-DEC-23 01.55.51.000000 AM
40023-NOV-23 09.24.12.000000 AM05-FEB-24 11.06.57.000000 AM
40124-NOV-23 06.09.02.000000 PM14-DEC-23 02.22.51.000000 PM
40227-NOV-23 09.31.53.000000 AM01-JAN-24 10.05.02.000000 PM
40327-NOV-23 11.17.36.000000 PM08-DEC-23 11.21.44.000000 PM
40430-NOV-23 02.28.37.000000 AM01-DEC-23 01.16.21.000000 PM
40530-NOV-23 04.28.50.000000 PM08-JAN-24 05.56.09.000000 PM
40601-DEC-23 07.10.11.000000 AM01-JAN-24 06.30.56.000000 PM
40701-DEC-23 03.04.47.000000 PM01-JAN-24 01.22.54.000000 AM
40804-DEC-23 01.44.42.000000 PM03-JAN-24 12.51.47.000000 PM
40904-DEC-23 05.56.36.000000 PM11-DEC-23 09.56.06.000000 AM
41005-DEC-23 05.00.03.000000 PM05-FEB-24 10.04.00.000000 AM
41106-DEC-23 04.15.34.000000 AM19-DEC-23 08.01.33.000000 AM
41206-DEC-23 03.12.41.000000 PM18-JAN-24 01.49.19.000000 PM
41306-DEC-23 11.25.23.000000 PM29-JAN-24 08.56.49.000000 PM
41407-DEC-23 05.14.09.000000 PM18-DEC-23 08.49.55.000000 AM
41507-DEC-23 06.50.29.000000 PM26-JAN-24 02.19.13.000000 PM
41607-DEC-23 10.00.19.000000 PM31-JAN-24 12.29.26.000000 AM
41708-DEC-23 04.50.10.000000 AM11-DEC-23 09.11.17.000000 AM
41811-DEC-23 04.56.36.000000 AM22-JAN-24 02.06.53.000000 AM
41911-DEC-23 07.07.01.000000 AM21-DEC-23 03.38.35.000000 PM
42011-DEC-23 09.23.29.000000 AM12-JAN-24 04.29.20.000000 AM
42111-DEC-23 08.22.10.000000 PM04-JAN-24 04.09.57.000000 PM
42211-DEC-23 10.44.23.000000 PM25-DEC-23 01.15.47.000000 AM
42313-DEC-23 05.02.47.000000 PM01-JAN-24 01.50.52.000000 PM
42418-DEC-23 12.13.07.000000 AM29-JAN-24 05.29.26.000000 AM
42518-DEC-23 12.22.10.000000 AM21-DEC-23 02.56.50.000000 AM
42618-DEC-23 06.20.23.000000 AM21-DEC-23 09.34.09.000000 AM
42718-DEC-23 01.44.09.000000 PM09-FEB-24 03.59.07.000000 AM
42818-DEC-23 07.51.36.000000 PM02-JAN-24 04.52.13.000000 AM
42918-DEC-23 09.00.14.000000 PM08-JAN-24 03.27.33.000000 AM
43019-DEC-23 03.14.43.000000 AM25-JAN-24 12.53.57.000000 AM
43120-DEC-23 06.50.49.000000 PM08-JAN-24 03.31.35.000000 PM
43221-DEC-23 07.35.58.000000 PM29-JAN-24 10.04.17.000000 AM
43322-DEC-23 11.12.01.000000 AM30-JAN-24 05.21.43.000000 AM
43425-DEC-23 01.17.59.000000 AM26-JAN-24 07.52.51.000000 PM
43525-DEC-23 03.37.07.000000 AM08-JAN-24 02.14.05.000000 PM
43625-DEC-23 12.40.43.000000 PM01-JAN-24 07.55.36.000000 AM
43725-DEC-23 11.49.47.000000 PM17-JAN-24 06.20.33.000000 PM
43826-DEC-23 05.22.19.000000 AM29-JAN-24 03.51.53.000000 PM
43927-DEC-23 05.17.00.000000 AM05-FEB-24 11.27.51.000000 AM
44027-DEC-23 09.35.45.000000 AM02-JAN-24 11.13.35.000000 PM
44128-DEC-23 08.01.04.000000 AM02-JAN-24 03.42.52.000000 AM
44229-DEC-23 07.53.13.000000 AM08-JAN-24 09.50.39.000000 AM
44301-JAN-24 12.20.49.000000 PM15-JAN-24 12.45.32.000000 PM
44402-JAN-24 08.43.21.000000 AM17-JAN-24 11.15.50.000000 PM
44503-JAN-24 03.51.38.000000 AM22-JAN-24 07.32.29.000000 PM
44604-JAN-24 08.29.19.000000 PM16-JAN-24 05.32.54.000000 PM
44705-JAN-24 07.08.41.000000 AM05-FEB-24 07.27.25.000000 PM
44805-JAN-24 08.52.00.000000 AM31-JAN-24 09.55.00.000000 PM
44908-JAN-24 11.16.52.000000 AM05-FEB-24 05.07.58.000000 PM
45008-JAN-24 11.42.35.000000 AM05-FEB-24 11.34.23.000000 AM
45108-JAN-24 02.47.08.000000 PM08-FEB-24 06.22.28.000000 PM
45208-JAN-24 03.56.11.000000 PM08-FEB-24 07.33.56.000000 AM
45308-JAN-24 04.50.59.000000 PM12-JAN-24 12.28.09.000000 AM
45408-JAN-24 05.43.38.000000 PM12-FEB-24 08.51.54.000000 PM
45510-JAN-24 07.47.16.000000 AM22-JAN-24 09.08.41.000000 PM
45610-JAN-24 10.43.37.000000 AM19-JAN-24 11.15.00.000000 PM
45710-JAN-24 06.29.15.000000 PM05-FEB-24 10.52.13.000000 AM
45811-JAN-24 07.22.01.000000 AM02-FEB-24 01.04.11.000000 AM
45912-JAN-24 08.58.07.000000 AM22-JAN-24 02.04.58.000000 PM
46012-JAN-24 11.15.41.000000 AM22-JAN-24 03.26.19.000000 PM
46115-JAN-24 03.13.29.000000 AM12-FEB-24 10.32.53.000000 PM
46215-JAN-24 07.27.59.000000 AM15-JAN-24 02.44.28.000000 PM
46315-JAN-24 12.04.40.000000 PM08-FEB-24 06.50.50.000000 AM
46415-JAN-24 01.21.28.000000 PM15-JAN-24 10.16.57.000000 PM
46515-JAN-24 08.36.22.000000 PM12-FEB-24 02.19.15.000000 AM
46616-JAN-24 05.09.54.000000 AM01-FEB-24 09.48.31.000000 AM
46716-JAN-24 08.41.32.000000 PM12-FEB-24 04.42.47.000000 PM
46817-JAN-24 05.56.28.000000 AM29-JAN-24 06.41.43.000000 PM
46917-JAN-24 06.36.20.000000 AM26-JAN-24 10.56.05.000000 AM
47018-JAN-24 03.34.01.000000 AM01-FEB-24 10.45.37.000000 AM
47118-JAN-24 07.53.50.000000 AM22-JAN-24 05.18.09.000000 PM
47218-JAN-24 11.28.21.000000 AM02-FEB-24 10.35.43.000000 PM
47318-JAN-24 10.18.01.000000 PM08-FEB-24 10.35.00.000000 PM
47422-JAN-24 06.40.15.000000 AM24-JAN-24 04.39.09.000000 AM
47522-JAN-24 08.52.24.000000 AM12-FEB-24 08.18.04.000000 AM
47622-JAN-24 04.30.33.000000 PM24-JAN-24 02.31.15.000000 PM
47723-JAN-24 07.28.56.000000 AM30-JAN-24 03.45.46.000000 AM
47825-JAN-24 09.33.44.000000 AM02-FEB-24 02.19.07.000000 AM
47925-JAN-24 12.56.57.000000 PM12-FEB-24 01.05.53.000000 AM
48025-JAN-24 04.32.57.000000 PM29-JAN-24 06.34.50.000000 PM
48126-JAN-24 04.14.22.000000 AM01-FEB-24 06.02.08.000000 AM
48226-JAN-24 07.21.46.000000 PM02-FEB-24 11.11.19.000000 AM
48330-JAN-24 03.24.02.000000 AM12-FEB-24 02.59.06.000000 PM
48430-JAN-24 01.08.46.000000 PM09-FEB-24 03.09.24.000000 AM
48530-JAN-24 01.20.32.000000 PM01-FEB-24 06.57.34.000000 AM
48630-JAN-24 03.21.43.000000 PM12-FEB-24 05.28.29.000000 PM
48731-JAN-24 05.31.30.000000 PM05-FEB-24 12.56.04.000000 PM
48802-FEB-24 01.09.39.000000 PM12-FEB-24 12.29.33.000000 AM
48902-FEB-24 05.36.21.000000 PM12-FEB-24 02.06.04.000000 AM
49005-FEB-24 12.31.35.000000 AM09-FEB-24 07.40.54.000000 AM
49105-FEB-24 02.15.23.000000 AM07-FEB-24 11.06.37.000000 AM
49205-FEB-24 09.20.38.000000 AM08-FEB-24 04.05.56.000000 PM
49305-FEB-24 09.58.08.000000 AM12-FEB-24 08.42.54.000000 AM
49405-FEB-24 03.03.41.000000 PM09-FEB-24 10.18.43.000000 AM
49507-FEB-24 12.42.32.000000 PM12-FEB-24 10.52.05.000000 PM
49608-FEB-24 08.44.27.000000 AM12-FEB-24 10.25.42.000000 PM
49708-FEB-24 10.14.37.000000 AM12-FEB-24 03.37.08.000000 PM
49812-FEB-24 03.23.25.000000 PM12-FEB-24 07.08.30.000000 PM
49912-FEB-24 05.52.38.000000 PM12-FEB-24 11.42.02.000000 PM
50012-FEB-24 07.19.19.000000 PM12-FEB-24 10.31.03.000000 PM
Ticket Generation Code

In the code below, I have used a recursive CTE to generate ticket ID values numbered 1 through 500 along with random open date values between the first day of last year and the current date and time (UTC), right-endpoint exclusive. The subsequent CTEs are used to generate random close date values for each of the 500 tickets and ensure each open date value and close date value fall on a weekday and the close date value is not in the future.

EXEC DBMS_RANDOM.SEED(42);

CREATE TABLE ticket_detail AS
	WITH generate_ticket (ticket_id, open_date) AS (
		SELECT
			1 AS ticket_id,
			CAST(
				ADD_MONTHS(TRUNC(SYSDATE, 'YEAR'), -12)
				+ INTERVAL '1' HOUR
				* DBMS_RANDOM.VALUE(1, (SYSDATE - ADD_MONTHS(TRUNC(SYSDATE, 'YEAR'), -12)) * 24)
				AS TIMESTAMP
			) AS open_date
		FROM
			dual
		UNION ALL
		SELECT
			generate_ticket.ticket_id + 1,
			CAST(
				ADD_MONTHS(TRUNC(SYSDATE, 'YEAR'), -12)
				+ INTERVAL '1' HOUR
				* DBMS_RANDOM.VALUE(1, (SYSDATE - ADD_MONTHS(TRUNC(SYSDATE, 'YEAR'), -12)) * 24)
				AS TIMESTAMP
			) AS open_date
		FROM
			generate_ticket
		WHERE
			generate_ticket.ticket_id < 500
	),
	close_ticket (ticket_id, open_date, close_date) AS (
		SELECT
			generate_ticket.ticket_id,
			generate_ticket.open_date,
			CAST(
				generate_ticket.open_date
				+ INTERVAL '1' HOUR
				* DBMS_RANDOM.VALUE(1, (EXTRACT(DAY FROM SYSDATE - generate_ticket.open_date) * 24)
					+ EXTRACT(HOUR FROM SYSDATE - generate_ticket.open_date)
				)
				AS TIMESTAMP
			) AS close_date
		FROM
			generate_ticket
	),
	weekend_adjustment (ticket_id, open_date, close_date) AS (
		SELECT
			close_ticket.ticket_id,
			CAST(
				DECODE(TO_CHAR(close_ticket.open_date, 'D'),
					1, close_ticket.open_date + 1,
					7, close_ticket.open_date + 2,
					close_ticket.open_date
				)
				AS TIMESTAMP
			) AS open_date,
			CAST(
				DECODE(TO_CHAR(close_ticket.close_date, 'D'),
					1, close_ticket.close_date + 1,
					7, close_ticket.close_date + 2,
					close_ticket.close_date
				)
				AS TIMESTAMP
			) AS close_date
		FROM
			close_ticket
	),
	ticket_detail (ticket_id, open_date, close_date) AS (
		SELECT
			ROW_NUMBER() OVER (
				ORDER BY weekend_adjustment.open_date
			) AS ticket_id,
			CASE
				WHEN weekend_adjustment.close_date > SYSDATE
					THEN weekend_adjustment.open_date - INTERVAL '1' DAY
				ELSE
					weekend_adjustment.open_date
			END AS open_date,
			CASE
				WHEN weekend_adjustment.close_date > SYSDATE
					THEN weekend_adjustment.close_date - INTERVAL '1' DAY
				ELSE
					weekend_adjustment.close_date
			END AS close_date
		FROM
			weekend_adjustment
	)
	SELECT
		ticket_detail.ticket_id,
		ticket_detail.open_date,
		ticket_detail.close_date
	FROM
		ticket_detail
	ORDER BY
		ticket_detail.open_date;

With the calendar data now at my disposal, I knew I could easily compute the number of Saturdays and Sundays occurring between each ticket’s open date value and close date value. The code below captures my strategy for doing so. For clarity, review the code’s corresponding output.

WITH calendar (date_value, day_name) AS (
    SELECT
        ADD_MONTHS(TRUNC(SYSDATE, 'YEAR'), -12) AS date_value,
    	TRIM(TO_CHAR(ADD_MONTHS(TRUNC(SYSDATE, 'YEAR'), -12), 'DAY')) AS day_name
    FROM
        dual
    UNION ALL
    SELECT
        date_value + 1,
    	TRIM(TO_CHAR(date_value + 1, 'DAY'))
    FROM
        calendar
    WHERE
        calendar.date_value < TRUNC(SYSDATE)
),
ticket_duration (ticket_id, open_date, close_date, interval_value) AS (
	SELECT
		ticket_detail.ticket_id,
		ticket_detail.open_date,
		ticket_detail.close_date,
		(
			(ticket_detail.close_date
			- ticket_detail.open_date)
			- INTERVAL '1' DAY
			* (
			SELECT
				COUNT(*)
			FROM
				calendar
			WHERE
				day_name IN ('SATURDAY', 'SUNDAY')
				AND date_value > ticket_detail.open_date
				AND date_value < ticket_detail.close_date
			)
		) AS interval_duration
	FROM
		ticket_detail
)
SELECT
	ticket_duration.ticket_id,
	ticket_duration.open_date,
	ticket_duration.close_date,
	ticket_duration.interval_value,
	CAST(
		EXTRACT(DAY FROM ticket_duration.interval_value)
		+ EXTRACT(HOUR FROM ticket_duration.interval_value) / 24
		+ EXTRACT(MINUTE FROM ticket_duration.interval_value) / 1440
		+ EXTRACT(SECOND FROM ticket_duration.interval_value) / 86400
        AS NUMBER
	) AS days_elapsed
FROM
	ticket_duration;
ticket_idopen_dateclose_dateinterval_valuedays_elapsed
102-JAN-23 12.38.25.000000 PM01-JAN-24 09.45.10.000000 PM+000000260 09:06:45.000000000260.3796875
202-JAN-23 04.15.32.000000 PM22-MAR-23 12.50.33.000000 AM+000000056 08:35:01.00000000056.35765046296296296296296296296296296296
302-JAN-23 05.29.33.000000 PM26-SEP-23 02.16.05.000000 PM+000000190 20:46:32.000000000190.865648148148148148148148148148148147
403-JAN-23 01.52.55.000000 PM13-MAR-23 07.30.22.000000 AM+000000048 17:37:27.00000000048.73434027777777777777777777777777777777
505-JAN-23 12.04.07.000000 PM24-JUL-23 11.32.13.000000 PM+000000142 11:28:06.000000000142.477847222222222222222222222222222221
605-JAN-23 06.28.19.000000 PM09-NOV-23 10.24.37.000000 PM+000000220 03:56:18.000000000220.164097222222222222222222222222222222
706-JAN-23 12.40.47.000000 PM30-JUN-23 02.17.17.000000 PM+000000125 01:36:30.000000000125.067013888888888888888888888888888889
809-JAN-23 06.19.28.000000 AM04-SEP-23 04.22.40.000000 AM+000000169 22:03:12.000000000169.918888888888888888888888888888888889
909-JAN-23 08.14.27.000000 AM04-APR-23 09.34.11.000000 AM+000000061 01:19:44.00000000061.05537037037037037037037037037037037037
1009-JAN-23 08.46.27.000000 AM17-NOV-23 10.59.16.000000 AM+000000224 02:12:49.000000000224.092233796296296296296296296296296296
1109-JAN-23 09.38.36.000000 AM03-FEB-23 11.33.46.000000 AM+000000019 01:55:10.00000000019.07997685185185185185185185185185185185
1209-JAN-23 12.51.44.000000 PM12-FEB-24 12.06.01.000000 AM+000000284 11:14:17.000000000284.468252314814814814814814814814814814
1309-JAN-23 01.30.07.000000 PM10-MAY-23 08.06.02.000000 PM+000000087 06:35:55.00000000087.27494212962962962962962962962962962963
1409-JAN-23 02.42.13.000000 PM07-AUG-23 08.27.18.000000 PM+000000150 05:45:05.000000000150.239641203703703703703703703703703703
1510-JAN-23 05.02.05.000000 AM07-MAR-23 02.33.32.000000 PM+000000040 09:31:27.00000000040.39684027777777777777777777777777777778
1611-JAN-23 12.16.35.000000 AM22-MAY-23 03.39.11.000000 PM+000000093 15:22:36.00000000093.64069444444444444444444444444444444445
1716-JAN-23 02.57.28.000000 AM01-MAR-23 03.09.54.000000 AM+000000032 00:12:26.00000000032.00863425925925925925925925925925925926
1816-JAN-23 08.26.21.000000 AM22-MAY-23 12.48.20.000000 AM+000000089 16:21:59.00000000089.68193287037037037037037037037037037037
1917-JAN-23 05.13.04.000000 AM13-JUN-23 03.10.45.000000 PM+000000105 09:57:41.000000000105.41505787037037037037037037037037037
2017-JAN-23 11.09.18.000000 PM18-DEC-23 03.51.32.000000 PM+000000238 16:42:14.000000000238.695995370370370370370370370370370371
2118-JAN-23 09.22.42.000000 AM13-JUN-23 07.15.46.000000 AM+000000103 21:53:04.000000000103.911851851851851851851851851851851852
2219-JAN-23 08.40.14.000000 AM29-JAN-24 10.19.25.000000 AM+000000267 01:39:11.000000000267.068877314814814814814814814814814815
2320-JAN-23 02.00.24.000000 PM06-MAR-23 08.48.48.000000 PM+000000031 06:48:24.00000000031.28361111111111111111111111111111111111
2420-JAN-23 11.38.25.000000 PM13-MAR-23 05.42.47.000000 PM+000000035 18:04:22.00000000035.75303240740740740740740740740740740741
2523-JAN-23 01.48.03.000000 AM09-JAN-24 08.27.31.000000 PM+000000251 18:39:28.000000000251.777407407407407407407407407407407407
2623-JAN-23 03.02.35.000000 AM06-FEB-24 11.00.11.000000 AM+000000271 07:57:36.000000000271.331666666666666666666666666666666667
2723-JAN-23 04.13.04.000000 AM04-OCT-23 08.36.09.000000 PM+000000182 16:23:05.000000000182.682696759259259259259259259259259259
2823-JAN-23 01.31.15.000000 PM30-NOV-23 09.16.45.000000 AM+000000222 19:45:30.000000000222.823263888888888888888888888888888889
2923-JAN-23 03.30.43.000000 PM30-JAN-23 06.51.52.000000 PM+000000005 03:21:09.0000000005.1396875
3023-JAN-23 03.37.29.000000 PM22-DEC-23 02.40.08.000000 AM+000000238 11:02:39.000000000238.460173611111111111111111111111111111
3123-JAN-23 09.30.22.000000 PM08-MAY-23 05.15.50.000000 AM+000000074 07:45:28.00000000074.32324074074074074074074074074074074074
3224-JAN-23 04.50.01.000000 AM31-JUL-23 02.09.51.000000 AM+000000133 21:19:50.000000000133.888773148148148148148148148148148148
3326-JAN-23 11.21.35.000000 AM09-JUN-23 08.19.38.000000 PM+000000096 08:58:03.00000000096.37364583333333333333333333333333333333
3426-JAN-23 04.53.10.000000 PM28-MAR-23 04.05.13.000000 AM+000000042 11:12:03.00000000042.46670138888888888888888888888888888888
3526-JAN-23 06.50.18.000000 PM15-MAY-23 03.46.03.000000 AM+000000076 08:55:45.00000000076.3720486111111111111111111111111111111
3630-JAN-23 02.12.26.000000 AM12-DEC-23 04.33.02.000000 AM+000000226 02:20:36.000000000226.097638888888888888888888888888888889
3730-JAN-23 02.19.45.000000 AM29-DEC-23 03.17.39.000000 AM+000000239 00:57:54.000000000239.040208333333333333333333333333333333
3830-JAN-23 07.12.08.000000 AM05-JUN-23 03.44.37.000000 PM+000000090 08:32:29.00000000090.3558912037037037037037037037037037037
3930-JAN-23 09.24.42.000000 AM25-MAY-23 09.38.17.000000 AM+000000083 00:13:35.00000000083.00943287037037037037037037037037037037
4031-JAN-23 08.44.06.000000 PM15-JAN-24 10.14.15.000000 AM+000000248 13:30:09.000000000248.562604166666666666666666666666666667
4101-FEB-23 08.54.52.000000 AM29-JAN-24 04.03.25.000000 PM+000000258 07:08:33.000000000258.297604166666666666666666666666666667
4201-FEB-23 01.36.58.000000 PM01-SEP-23 03.44.57.000000 PM+000000152 02:07:59.000000000152.088877314814814814814814814814814814
4302-FEB-23 05.23.01.000000 AM20-SEP-23 02.59.50.000000 AM+000000163 21:36:49.000000000163.90056712962962962962962962962962963
4402-FEB-23 12.31.01.000000 PM09-MAY-23 02.31.20.000000 AM+000000067 14:00:19.00000000067.58355324074074074074074074074074074074
4506-FEB-23 09.39.12.000000 AM06-MAR-23 05.06.16.000000 AM+000000019 19:27:04.00000000019.81046296296296296296296296296296296297
4606-FEB-23 09.50.13.000000 AM18-JUL-23 06.16.55.000000 AM+000000115 20:26:42.000000000115.851875
4706-FEB-23 03.14.54.000000 PM29-MAR-23 07.02.47.000000 PM+000000037 03:47:53.00000000037.15825231481481481481481481481481481482
4806-FEB-23 11.30.02.000000 PM22-SEP-23 11.40.30.000000 AM+000000163 12:10:28.000000000163.507268518518518518518518518518518518
4907-FEB-23 12.49.10.000000 PM11-SEP-23 02.28.52.000000 AM+000000153 13:39:42.000000000153.569236111111111111111111111111111111
5007-FEB-23 03.15.54.000000 PM18-SEP-23 03.11.28.000000 PM+000000158 23:55:34.000000000158.996921296296296296296296296296296296
5108-FEB-23 03.21.53.000000 AM24-APR-23 03.21.06.000000 AM+000000052 23:59:13.00000000052.99945601851851851851851851851851851851
5208-FEB-23 07.13.38.000000 AM04-DEC-23 02.20.29.000000 PM+000000213 07:06:51.000000000213.296423611111111111111111111111111112
5308-FEB-23 12.58.54.000000 PM23-NOV-23 12.19.42.000000 AM+000000205 11:20:48.000000000205.472777777777777777777777777777777778
5413-FEB-23 07.16.56.000000 AM15-NOV-23 06.46.10.000000 PM+000000197 11:29:14.000000000197.478634259259259259259259259259259259
5513-FEB-23 08.39.21.000000 AM06-NOV-23 06.25.11.000000 AM+000000189 21:45:50.000000000189.906828703703703703703703703703703704
5613-FEB-23 12.18.08.000000 PM30-AUG-23 10.39.19.000000 AM+000000141 22:21:11.000000000141.931377314814814814814814814814814815
5713-FEB-23 04.39.56.000000 PM04-OCT-23 05.34.07.000000 AM+000000166 12:54:11.000000000166.537627314814814814814814814814814815
5813-FEB-23 05.55.49.000000 PM25-SEP-23 06.06.58.000000 AM+000000159 12:11:09.000000000159.507743055555555555555555555555555556
5915-FEB-23 04.43.04.000000 AM22-FEB-23 01.12.28.000000 AM+000000004 20:29:24.0000000004.85375
6015-FEB-23 02.46.38.000000 PM26-OCT-23 09.25.58.000000 PM+000000181 06:39:20.000000000181.277314814814814814814814814814814814
6115-FEB-23 08.56.48.000000 PM17-NOV-23 10.22.35.000000 PM+000000197 01:25:47.000000000197.059571759259259259259259259259259259
6216-FEB-23 03.05.10.000000 AM29-JAN-24 03.38.49.000000 PM+000000247 12:33:39.000000000247.523368055555555555555555555555555556
6316-FEB-23 09.18.58.000000 AM11-DEC-23 10.03.05.000000 PM+000000212 12:44:07.000000000212.530636574074074074074074074074074075
6417-FEB-23 04.46.24.000000 PM12-FEB-24 06.35.38.000000 AM+000000255 13:49:14.000000000255.575856481481481481481481481481481482
6520-FEB-23 06.55.46.000000 AM05-FEB-24 09.08.10.000000 AM+000000250 02:12:24.000000000250.091944444444444444444444444444444444
6620-FEB-23 09.05.56.000000 AM17-APR-23 06.19.26.000000 AM+000000039 21:13:30.00000000039.884375
6720-FEB-23 04.24.11.000000 PM05-JUN-23 12.31.15.000000 PM+000000074 20:07:04.00000000074.83824074074074074074074074074074074074
6821-FEB-23 08.26.46.000000 PM02-JAN-24 05.11.25.000000 AM+000000224 08:44:39.000000000224.364340277777777777777777777777777778
6922-FEB-23 11.39.41.000000 PM05-FEB-24 11.43.26.000000 PM+000000248 00:03:45.000000000248.002604166666666666666666666666666666
7023-FEB-23 03.31.18.000000 AM23-OCT-23 08.18.22.000000 PM+000000172 16:47:04.000000000172.699351851851851851851851851851851852
7124-FEB-23 06.00.28.000000 PM04-OCT-23 09.04.10.000000 PM+000000158 03:03:42.000000000158.127569444444444444444444444444444444
7227-FEB-23 05.05.30.000000 AM06-MAR-23 10.09.31.000000 AM+000000005 05:04:01.0000000005.21112268518518518518518518518518518518
7327-FEB-23 10.04.10.000000 AM10-JUL-23 12.42.58.000000 PM+000000095 02:38:48.00000000095.11027777777777777777777777777777777778
7427-FEB-23 10.51.49.000000 AM02-AUG-23 07.39.24.000000 PM+000000112 08:47:35.000000000112.366377314814814814814814814814814815
7527-FEB-23 12.23.23.000000 PM14-AUG-23 04.48.08.000000 PM+000000120 04:24:45.000000000120.183854166666666666666666666666666667
7627-FEB-23 08.46.42.000000 PM20-NOV-23 09.07.15.000000 AM+000000189 12:20:33.000000000189.514270833333333333333333333333333333
7727-FEB-23 10.50.08.000000 PM31-JUL-23 02.49.07.000000 PM+000000109 15:58:59.000000000109.665960648148148148148148148148148148
7828-FEB-23 03.50.16.000000 AM24-JAN-24 04.04.05.000000 AM+000000236 00:13:49.000000000236.009594907407407407407407407407407408
7901-MAR-23 06.03.55.000000 AM21-NOV-23 03.04.21.000000 PM+000000189 09:00:26.000000000189.375300925925925925925925925925925926
8001-MAR-23 11.53.19.000000 PM15-JAN-24 09.15.25.000000 PM+000000227 21:22:06.000000000227.890347222222222222222222222222222222
8102-MAR-23 09.07.32.000000 AM16-NOV-23 08.27.22.000000 PM+000000185 11:19:50.000000000185.472106481481481481481481481481481481
8206-MAR-23 04.48.37.000000 AM24-AUG-23 03.08.31.000000 AM+000000122 22:19:54.000000000122.930486111111111111111111111111111111
8306-MAR-23 02.51.26.000000 PM25-DEC-23 09.24.27.000000 PM+000000210 06:33:01.000000000210.272928240740740740740740740740740741
8406-MAR-23 04.22.54.000000 PM23-MAY-23 06.47.35.000000 PM+000000056 02:24:41.00000000056.10047453703703703703703703703703703704
8506-MAR-23 11.16.07.000000 PM14-MAR-23 02.38.01.000000 PM+000000005 15:21:54.0000000005.64020833333333333333333333333333333333
8607-MAR-23 08.37.15.000000 AM07-JUN-23 09.15.25.000000 AM+000000066 00:38:10.00000000066.02650462962962962962962962962962962963
8709-MAR-23 07.16.51.000000 PM06-NOV-23 10.22.35.000000 AM+000000171 15:05:44.000000000171.628981481481481481481481481481481481
8810-MAR-23 05.12.33.000000 AM13-JUN-23 12.58.49.000000 AM+000000066 19:46:16.00000000066.8237962962962962962962962962962962963
8910-MAR-23 05.41.31.000000 AM13-NOV-23 08.30.42.000000 PM+000000176 14:49:11.000000000176.617488425925925925925925925925925926
9010-MAR-23 11.24.18.000000 AM21-AUG-23 08.54.22.000000 PM+000000116 09:30:04.000000000116.395879629629629629629629629629629629
9110-MAR-23 06.14.26.000000 PM26-MAY-23 07.16.22.000000 PM+000000055 01:01:56.00000000055.04300925925925925925925925925925925926
9213-MAR-23 10.30.47.000000 AM17-AUG-23 07.58.34.000000 PM+000000113 09:27:47.000000000113.394293981481481481481481481481481481
9313-MAR-23 01.07.13.000000 PM23-JAN-24 11.33.50.000000 PM+000000226 10:26:37.000000000226.435150462962962962962962962962962964
9413-MAR-23 01.41.33.000000 PM14-APR-23 08.06.26.000000 AM+000000023 18:24:53.00000000023.7672800925925925925925925925925925926
9513-MAR-23 08.05.42.000000 PM08-JAN-24 07.07.10.000000 AM+000000214 11:01:28.000000000214.459351851851851851851851851851851851
9613-MAR-23 09.19.16.000000 PM06-FEB-24 11.21.36.000000 PM+000000236 02:02:20.000000000236.084953703703703703703703703703703703
9714-MAR-23 02.13.43.000000 PM15-MAR-23 01.15.08.000000 AM+000000000 11:01:25.000000000.4593171296296296296296296296296296296296
9814-MAR-23 06.35.22.000000 PM08-DEC-23 11.24.29.000000 AM+000000192 16:49:07.000000000192.700775462962962962962962962962962964
9916-MAR-23 03.25.05.000000 AM15-DEC-23 09.58.47.000000 AM+000000196 06:33:42.000000000196.273402777777777777777777777777777778
10017-MAR-23 11.51.51.000000 AM16-OCT-23 05.53.05.000000 AM+000000150 18:01:14.000000000150.750856481481481481481481481481481481
10120-MAR-23 07.55.47.000000 AM15-MAY-23 11.03.10.000000 AM+000000040 03:07:23.00000000040.13012731481481481481481481481481481481
10221-MAR-23 06.21.04.000000 PM29-DEC-23 05.51.10.000000 AM+000000202 11:30:06.000000000202.47923611111111111111111111111111111
10323-MAR-23 08.09.08.000000 AM01-FEB-24 10.08.30.000000 AM+000000225 01:59:22.000000000225.082893518518518518518518518518518519
10423-MAR-23 08.13.36.000000 AM14-DEC-23 04.24.33.000000 AM+000000189 20:10:57.000000000189.840937499999999999999999999999999999
10527-MAR-23 07.18.55.000000 AM21-NOV-23 02.34.22.000000 AM+000000170 19:15:27.000000000170.802395833333333333333333333333333334
10627-MAR-23 12.37.04.000000 PM05-JUN-23 05.12.41.000000 AM+000000049 16:35:37.00000000049.69140046296296296296296296296296296297
10727-MAR-23 08.48.14.000000 PM01-JAN-24 10.53.22.000000 PM+000000200 02:05:08.000000000200.086898148148148148148148148148148148
10827-MAR-23 11.15.10.000000 PM04-DEC-23 03.36.51.000000 PM+000000179 16:21:41.000000000179.681724537037037037037037037037037037
10927-MAR-23 11.19.50.000000 PM28-AUG-23 02.37.15.000000 PM+000000109 15:17:25.000000000109.637094907407407407407407407407407408
11028-MAR-23 02.46.49.000000 AM15-AUG-23 08.48.35.000000 PM+000000100 18:01:46.000000000100.751226851851851851851851851851851851
11103-APR-23 04.17.40.000000 PM12-DEC-23 08.11.02.000000 AM+000000180 15:53:22.000000000180.662060185185185185185185185185185186
11204-APR-23 11.27.40.000000 AM21-AUG-23 01.52.52.000000 PM+000000099 02:25:12.00000000099.10083333333333333333333333333333333333
11304-APR-23 03.11.07.000000 PM24-AUG-23 05.24.31.000000 AM+000000101 14:13:24.000000000101.592638888888888888888888888888888889
11405-APR-23 12.45.37.000000 PM30-MAY-23 04.05.12.000000 PM+000000039 03:19:35.00000000039.13859953703703703703703703703703703703
11510-APR-23 06.46.49.000000 AM25-SEP-23 05.52.31.000000 AM+000000119 23:05:42.000000000119.962291666666666666666666666666666666
11610-APR-23 07.48.41.000000 AM22-AUG-23 08.47.41.000000 AM+000000096 00:59:00.00000000096.04097222222222222222222222222222222222
11710-APR-23 10.12.54.000000 AM01-JAN-24 06.13.30.000000 PM+000000190 08:00:36.000000000190.33375
11810-APR-23 07.28.31.000000 PM23-JUN-23 01.11.13.000000 AM+000000053 05:42:42.00000000053.23798611111111111111111111111111111111
11910-APR-23 09.22.42.000000 PM25-SEP-23 08.41.49.000000 AM+000000119 11:19:07.000000000119.471608796296296296296296296296296296
12012-APR-23 07.27.49.000000 AM26-MAY-23 10.31.24.000000 AM+000000032 03:03:35.00000000032.12748842592592592592592592592592592592
12112-APR-23 06.07.33.000000 PM07-AUG-23 10.47.47.000000 PM+000000083 04:40:14.00000000083.19460648148148148148148148148148148149
12213-APR-23 01.53.12.000000 AM21-AUG-23 08.32.36.000000 PM+000000092 18:39:24.00000000092.77736111111111111111111111111111111111
12317-APR-23 12.08.14.000000 AM02-AUG-23 06.35.58.000000 PM+000000077 18:27:44.00000000077.76925925925925925925925925925925925926
12417-APR-23 04.45.48.000000 PM11-DEC-23 06.46.04.000000 AM+000000169 14:00:16.000000000169.583518518518518518518518518518518518
12517-APR-23 10.03.20.000000 PM03-OCT-23 11.52.20.000000 PM+000000121 01:49:00.000000000121.075694444444444444444444444444444445
12618-APR-23 02.35.52.000000 PM02-AUG-23 10.46.23.000000 PM+000000076 08:10:31.00000000076.34063657407407407407407407407407407407
12718-APR-23 05.05.48.000000 PM02-JUN-23 08.37.38.000000 AM+000000032 15:31:50.00000000032.64710648148148148148148148148148148148
12819-APR-23 11.47.46.000000 AM21-AUG-23 06.12.40.000000 AM+000000087 18:24:54.00000000087.76729166666666666666666666666666666667
12919-APR-23 12.34.59.000000 PM03-JUL-23 01.09.18.000000 PM+000000053 00:34:19.00000000053.02383101851851851851851851851851851852
13019-APR-23 08.24.09.000000 PM05-OCT-23 12.25.47.000000 PM+000000120 16:01:38.000000000120.667800925925925925925925925925925926
13121-APR-23 06.54.52.000000 PM12-FEB-24 05.07.15.000000 AM+000000210 10:12:23.000000000210.425266203703703703703703703703703704
13221-APR-23 09.49.18.000000 PM05-JUN-23 07.58.12.000000 PM+000000030 22:08:54.00000000030.92284722222222222222222222222222222223
13324-APR-23 12.30.19.000000 PM29-JUN-23 02.55.29.000000 PM+000000048 02:25:10.00000000048.10081018518518518518518518518518518518
13424-APR-23 02.21.53.000000 PM11-SEP-23 05.33.17.000000 AM+000000099 15:11:24.00000000099.63291666666666666666666666666666666667
13524-APR-23 06.10.26.000000 PM17-NOV-23 08.28.46.000000 AM+000000148 14:18:20.000000000148.596064814814814814814814814814814814
13625-APR-23 12.30.30.000000 AM21-NOV-23 04.53.23.000000 AM+000000150 04:22:53.000000000150.182557870370370370370370370370370371
13726-APR-23 09.00.25.000000 AM05-FEB-24 04.35.08.000000 AM+000000202 19:34:43.000000000202.815775462962962962962962962962962963
13827-APR-23 12.17.57.000000 PM02-JAN-24 06.24.45.000000 AM+000000177 18:06:48.000000000177.754722222222222222222222222222222223
13928-APR-23 08.36.32.000000 AM19-OCT-23 03.13.44.000000 PM+000000124 06:37:12.000000000124.275833333333333333333333333333333333
14028-APR-23 05.14.30.000000 PM14-NOV-23 11.11.42.000000 PM+000000142 05:57:12.000000000142.248055555555555555555555555555555555
14101-MAY-23 04.57.58.000000 AM19-JUL-23 07.15.48.000000 AM+000000057 02:17:50.00000000057.09571759259259259259259259259259259259
14201-MAY-23 08.17.16.000000 AM21-DEC-23 08.00.38.000000 PM+000000168 11:43:22.000000000168.488449074074074074074074074074074074
14301-MAY-23 11.36.59.000000 AM26-JAN-24 12.46.27.000000 PM+000000194 01:09:28.000000000194.048240740740740740740740740740740741
14401-MAY-23 11.05.34.000000 PM16-AUG-23 08.25.22.000000 AM+000000076 09:19:48.00000000076.38875
14502-MAY-23 10.00.05.000000 PM01-AUG-23 07.57.50.000000 AM+000000064 09:57:45.00000000064.41510416666666666666666666666666666666
14603-MAY-23 02.03.24.000000 AM04-DEC-23 10.11.24.000000 PM+000000153 20:08:00.000000000153.838888888888888888888888888888888889
14703-MAY-23 06.42.11.000000 AM22-JAN-24 04.11.35.000000 AM+000000187 21:29:24.000000000187.895416666666666666666666666666666667
14803-MAY-23 08.05.50.000000 AM20-NOV-23 10.41.48.000000 PM+000000143 14:35:58.000000000143.608310185185185185185185185185185185
14903-MAY-23 08.20.59.000000 AM01-JAN-24 01.14.51.000000 AM+000000172 16:53:52.000000000172.704074074074074074074074074074074075
15004-MAY-23 01.37.34.000000 AM14-AUG-23 12.14.28.000000 PM+000000072 10:36:54.00000000072.44229166666666666666666666666666666667
15104-MAY-23 12.52.11.000000 PM10-JAN-24 09.44.50.000000 PM+000000179 08:52:39.000000000179.369895833333333333333333333333333333
15208-MAY-23 03.43.43.000000 AM18-DEC-23 06.13.13.000000 PM+000000160 14:29:30.000000000160.603819444444444444444444444444444444
15308-MAY-23 08.02.09.000000 AM03-NOV-23 11.13.14.000000 PM+000000129 15:11:05.000000000129.632696759259259259259259259259259259
15408-MAY-23 07.22.14.000000 PM23-NOV-23 04.03.40.000000 PM+000000142 20:41:26.000000000142.862106481481481481481481481481481481
15509-MAY-23 11.57.02.000000 AM19-JUN-23 03.46.16.000000 AM+000000028 15:49:14.00000000028.65918981481481481481481481481481481482
15610-MAY-23 08.41.46.000000 AM16-MAY-23 10.06.34.000000 PM+000000004 13:24:48.0000000004.5588888888888888888888888888888888889
15710-MAY-23 08.40.04.000000 PM01-AUG-23 03.42.15.000000 AM+000000058 07:02:11.00000000058.29318287037037037037037037037037037037
15811-MAY-23 07.08.42.000000 AM24-JUL-23 08.58.34.000000 AM+000000052 01:49:52.00000000052.0762962962962962962962962962962962963
15911-MAY-23 03.16.37.000000 PM11-JUL-23 02.05.05.000000 AM+000000042 10:48:28.00000000042.45032407407407407407407407407407407407
16015-MAY-23 06.53.21.000000 AM03-NOV-23 12.09.34.000000 PM+000000124 05:16:13.000000000124.219594907407407407407407407407407407
16115-MAY-23 11.55.54.000000 AM14-SEP-23 06.54.38.000000 PM+000000088 06:58:44.00000000088.29078703703703703703703703703703703704
16215-MAY-23 01.19.25.000000 PM13-SEP-23 09.15.13.000000 AM+000000086 19:55:48.00000000086.83041666666666666666666666666666666667
16315-MAY-23 02.22.25.000000 PM18-DEC-23 08.31.48.000000 AM+000000154 18:09:23.000000000154.756516203703703703703703703703703704
16415-MAY-23 07.21.19.000000 PM04-SEP-23 05.11.49.000000 PM+000000079 21:50:30.00000000079.91006944444444444444444444444444444444
16517-MAY-23 01.58.49.000000 AM28-AUG-23 07.28.46.000000 AM+000000073 05:29:57.00000000073.22913194444444444444444444444444444444
16619-MAY-23 04.37.03.000000 AM25-SEP-23 07.30.40.000000 PM+000000091 14:53:37.00000000091.62056712962962962962962962962962962963
16719-MAY-23 07.17.30.000000 AM06-OCT-23 02.19.02.000000 AM+000000099 19:01:32.00000000099.79273148148148148148148148148148148148
16819-MAY-23 04.04.52.000000 PM25-SEP-23 01.24.20.000000 PM+000000090 21:19:28.00000000090.88851851851851851851851851851851851851
16922-MAY-23 06.25.52.000000 AM29-AUG-23 08.34.30.000000 PM+000000071 14:08:38.00000000071.5893287037037037037037037037037037037
17023-MAY-23 01.27.03.000000 AM02-OCT-23 09.10.44.000000 AM+000000094 07:43:41.00000000094.32200231481481481481481481481481481482
17123-MAY-23 08.22.15.000000 AM22-SEP-23 08.59.23.000000 AM+000000088 00:37:08.00000000088.02578703703703703703703703703703703703
17224-MAY-23 08.14.08.000000 AM27-OCT-23 03.23.59.000000 PM+000000112 07:09:51.000000000112.298506944444444444444444444444444445
17324-MAY-23 08.47.03.000000 PM26-JUN-23 12.53.47.000000 PM+000000022 16:06:44.00000000022.6713425925925925925925925925925925926
17425-MAY-23 04.27.23.000000 AM29-MAY-23 07.10.07.000000 PM+000000002 14:42:44.0000000002.61300925925925925925925925925925925926
17525-MAY-23 05.52.24.000000 AM28-AUG-23 04.02.09.000000 PM+000000067 10:09:45.00000000067.4234375
17625-MAY-23 08.29.02.000000 AM05-JAN-24 12.48.01.000000 AM+000000160 16:18:59.000000000160.679849537037037037037037037037037037
17726-MAY-23 01.27.28.000000 AM15-JAN-24 07.48.11.000000 AM+000000166 06:20:43.000000000166.264386574074074074074074074074074074
17826-MAY-23 01.37.34.000000 AM07-SEP-23 02.48.01.000000 PM+000000074 13:10:27.00000000074.54892361111111111111111111111111111111
17926-MAY-23 02.03.02.000000 PM24-JUL-23 07.10.41.000000 PM+000000041 05:07:39.00000000041.21364583333333333333333333333333333333
18029-MAY-23 11.02.16.000000 AM03-JUL-23 03.23.48.000000 PM+000000025 04:21:32.00000000025.18162037037037037037037037037037037037
18129-MAY-23 12.55.36.000000 PM21-DEC-23 02.00.49.000000 AM+000000147 13:05:13.000000000147.545289351851851851851851851851851852
18229-MAY-23 04.44.02.000000 PM27-JUL-23 08.21.44.000000 PM+000000043 03:37:42.00000000043.15118055555555555555555555555555555555
18329-MAY-23 05.00.52.000000 PM19-JUL-23 10.33.27.000000 PM+000000037 05:32:35.00000000037.23096064814814814814814814814814814814
18429-MAY-23 06.07.20.000000 PM08-NOV-23 05.48.05.000000 AM+000000116 11:40:45.000000000116.486631944444444444444444444444444444
18529-MAY-23 07.50.18.000000 PM25-OCT-23 01.22.13.000000 AM+000000106 05:31:55.000000000106.230497685185185185185185185185185185
18630-MAY-23 08.15.07.000000 AM28-JUN-23 11.56.01.000000 PM+000000021 15:40:54.00000000021.65340277777777777777777777777777777778
18730-MAY-23 04.33.30.000000 PM01-AUG-23 06.53.49.000000 PM+000000045 02:20:19.00000000045.09744212962962962962962962962962962963
18802-JUN-23 02.28.41.000000 PM23-OCT-23 07.50.21.000000 PM+000000101 05:21:40.000000000101.223379629629629629629629629629629629
18905-JUN-23 01.58.04.000000 AM19-SEP-23 08.14.56.000000 PM+000000076 18:16:52.00000000076.76171296296296296296296296296296296296
19005-JUN-23 12.02.39.000000 PM10-NOV-23 06.28.16.000000 AM+000000113 18:25:37.000000000113.767789351851851851851851851851851852
19105-JUN-23 02.07.26.000000 PM21-AUG-23 09.21.56.000000 PM+000000055 07:14:30.00000000055.30173611111111111111111111111111111111
19205-JUN-23 11.16.05.000000 PM10-JAN-24 05.10.29.000000 AM+000000156 05:54:24.000000000156.246111111111111111111111111111111111
19306-JUN-23 07.57.47.000000 AM31-JUL-23 10.57.12.000000 AM+000000039 02:59:25.00000000039.1245949074074074074074074074074074074
19408-JUN-23 11.44.19.000000 PM17-JUL-23 06.17.02.000000 PM+000000026 18:32:43.00000000026.77271990740740740740740740740740740741
19509-JUN-23 06.27.26.000000 AM11-SEP-23 12.53.08.000000 PM+000000066 06:25:42.00000000066.26784722222222222222222222222222222222
19609-JUN-23 04.09.56.000000 PM29-JUN-23 03.30.54.000000 AM+000000013 11:20:58.00000000013.47289351851851851851851851851851851852
19712-JUN-23 03.13.46.000000 AM27-JUL-23 06.41.26.000000 AM+000000033 03:27:40.00000000033.14421296296296296296296296296296296296
19812-JUN-23 03.27.50.000000 AM17-JAN-24 05.37.43.000000 PM+000000157 14:09:53.000000000157.590196759259259259259259259259259259
19912-JUN-23 11.46.29.000000 AM12-FEB-24 06.52.49.000000 AM+000000174 19:06:20.000000000174.796064814814814814814814814814814815
20012-JUN-23 11.49.05.000000 AM03-AUG-23 04.01.51.000000 PM+000000038 04:12:46.00000000038.17553240740740740740740740740740740741
20112-JUN-23 03.30.34.000000 PM03-OCT-23 01.49.21.000000 AM+000000080 10:18:47.00000000080.42971064814814814814814814814814814815
20214-JUN-23 01.37.21.000000 AM10-JUL-23 11.33.34.000000 AM+000000018 09:56:13.00000000018.41403935185185185185185185185185185185
20315-JUN-23 05.57.30.000000 AM28-SEP-23 06.11.28.000000 AM+000000075 00:13:58.00000000075.00969907407407407407407407407407407408
20416-JUN-23 07.27.39.000000 PM16-OCT-23 07.16.21.000000 PM+000000085 23:48:42.00000000085.99215277777777777777777777777777777777
20519-JUN-23 06.36.55.000000 AM25-OCT-23 06.59.53.000000 AM+000000092 00:22:58.00000000092.01594907407407407407407407407407407408
20619-JUN-23 10.30.52.000000 AM27-DEC-23 02.39.18.000000 PM+000000137 04:08:26.000000000137.172523148148148148148148148148148149
20719-JUN-23 03.05.49.000000 PM27-OCT-23 02.13.08.000000 PM+000000093 23:07:19.00000000093.96341435185185185185185185185185185185
20819-JUN-23 05.18.23.000000 PM04-SEP-23 06.27.43.000000 AM+000000054 13:09:20.00000000054.54814814814814814814814814814814814815
20919-JUN-23 08.34.25.000000 PM19-DEC-23 11.54.28.000000 AM+000000130 15:20:03.000000000130.638923611111111111111111111111111111
21020-JUN-23 10.17.37.000000 AM06-OCT-23 09.19.53.000000 PM+000000078 11:02:16.00000000078.45990740740740740740740740740740740741
21120-JUN-23 04.40.17.000000 PM15-AUG-23 10.22.49.000000 PM+000000040 05:42:32.00000000040.23787037037037037037037037037037037037
21221-JUN-23 04.17.37.000000 PM28-AUG-23 08.30.37.000000 PM+000000048 04:13:00.00000000048.17569444444444444444444444444444444445
21321-JUN-23 09.04.34.000000 PM15-AUG-23 07.23.22.000000 AM+000000038 10:18:48.00000000038.42972222222222222222222222222222222223
21422-JUN-23 02.47.06.000000 AM06-NOV-23 07.09.01.000000 AM+000000097 04:21:55.00000000097.18188657407407407407407407407407407407
21522-JUN-23 03.20.51.000000 AM03-JUL-23 07.20.13.000000 AM+000000007 03:59:22.0000000007.16622685185185185185185185185185185185
21622-JUN-23 09.26.38.000000 PM27-JUN-23 01.30.58.000000 AM+000000002 04:04:20.0000000002.16967592592592592592592592592592592593
21723-JUN-23 08.04.54.000000 PM17-JUL-23 11.15.02.000000 PM+000000016 03:10:08.00000000016.13203703703703703703703703703703703703
21826-JUN-23 04.35.16.000000 AM26-OCT-23 05.52.45.000000 AM+000000088 01:17:29.00000000088.05380787037037037037037037037037037038
21926-JUN-23 08.26.31.000000 AM24-JAN-24 07.42.24.000000 PM+000000152 11:15:53.000000000152.469363425925925925925925925925925926
22026-JUN-23 09.34.12.000000 AM18-OCT-23 12.15.08.000000 PM+000000082 02:40:56.00000000082.11175925925925925925925925925925925926
22126-JUN-23 10.54.26.000000 PM12-DEC-23 03.40.35.000000 PM+000000120 16:46:09.000000000120.698715277777777777777777777777777778
22227-JUN-23 11.09.50.000000 AM27-NOV-23 07.11.55.000000 AM+000000108 20:02:05.000000000108.834780092592592592592592592592592592
22327-JUN-23 05.09.15.000000 PM12-DEC-23 01.24.41.000000 PM+000000119 20:15:26.000000000119.844050925925925925925925925925925926
22428-JUN-23 12.11.25.000000 PM09-JAN-24 01.41.34.000000 AM+000000138 13:30:09.000000000138.562604166666666666666666666666666667
22528-JUN-23 01.23.34.000000 PM11-OCT-23 01.40.52.000000 AM+000000074 12:17:18.00000000074.51201388888888888888888888888888888889
22628-JUN-23 11.23.20.000000 PM18-AUG-23 08.23.30.000000 AM+000000036 09:00:10.00000000036.37511574074074074074074074074074074074
22703-JUL-23 12.45.29.000000 AM20-NOV-23 04.35.06.000000 PM+000000100 15:49:37.000000000100.659456018518518518518518518518518519
22803-JUL-23 01.06.49.000000 AM30-JAN-24 04.16.17.000000 AM+000000151 03:09:28.000000000151.131574074074074074074074074074074074
22903-JUL-23 01.32.37.000000 AM18-AUG-23 11.54.01.000000 AM+000000034 10:21:24.00000000034.43152777777777777777777777777777777778
23003-JUL-23 04.19.22.000000 AM14-JUL-23 12.40.24.000000 AM+000000008 20:21:02.0000000008.84793981481481481481481481481481481481
23103-JUL-23 06.48.03.000000 AM16-AUG-23 01.13.13.000000 PM+000000032 06:25:10.00000000032.26747685185185185185185185185185185185
23203-JUL-23 09.09.40.000000 AM03-JUL-23 06.37.38.000000 AM-000000000 02:32:02.000000000-.1055787037037037037037037037037037037036
23304-JUL-23 03.42.49.000000 AM08-DEC-23 03.25.22.000000 PM+000000113 11:42:33.000000000113.487881944444444444444444444444444444
23404-JUL-23 02.01.07.000000 PM14-JUL-23 09.03.50.000000 AM+000000007 19:02:43.0000000007.79355324074074074074074074074074074075
23506-JUL-23 03.14.47.000000 PM20-JUL-23 02.32.36.000000 PM+000000009 23:17:49.0000000009.97070601851851851851851851851851851852
23606-JUL-23 07.15.25.000000 PM21-AUG-23 11.05.32.000000 AM+000000031 15:50:07.00000000031.65980324074074074074074074074074074074
23706-JUL-23 08.05.44.000000 PM01-FEB-24 08.18.37.000000 AM+000000149 12:12:53.000000000149.508946759259259259259259259259259259
23807-JUL-23 02.23.50.000000 AM14-JUL-23 01.18.40.000000 PM+000000005 10:54:50.0000000005.45474537037037037037037037037037037037
23910-JUL-23 07.27.43.000000 PM28-AUG-23 06.51.09.000000 PM+000000034 23:23:26.00000000034.97460648148148148148148148148148148148
24010-JUL-23 10.59.44.000000 PM25-DEC-23 03.16.41.000000 AM+000000119 04:16:57.000000000119.1784375
24111-JUL-23 09.44.48.000000 PM21-NOV-23 03.45.05.000000 AM+000000094 06:00:17.00000000094.25019675925925925925925925925925925926
24212-JUL-23 12.36.07.000000 AM07-FEB-24 01.40.07.000000 PM+000000150 13:04:00.000000000150.544444444444444444444444444444444445
24312-JUL-23 02.02.01.000000 PM30-OCT-23 11.29.37.000000 AM+000000077 21:27:36.00000000077.89416666666666666666666666666666666667
24414-JUL-23 10.17.56.000000 AM14-JUL-23 06.30.00.000000 PM+000000000 08:12:04.000000000.3417129629629629629629629629629629629629
24517-JUL-23 04.37.05.000000 AM15-AUG-23 02.06.30.000000 PM+000000021 09:29:25.00000000021.39542824074074074074074074074074074074
24617-JUL-23 09.23.37.000000 AM05-FEB-24 12.01.18.000000 PM+000000145 02:37:41.000000000145.109502314814814814814814814814814814
24717-JUL-23 03.37.26.000000 PM11-DEC-23 08.26.39.000000 PM+000000105 04:49:13.000000000105.200844907407407407407407407407407408
24817-JUL-23 03.49.27.000000 PM31-JUL-23 07.45.17.000000 AM+000000009 15:55:50.0000000009.66377314814814814814814814814814814814
24917-JUL-23 07.56.38.000000 PM14-SEP-23 09.39.57.000000 AM+000000042 13:43:19.00000000042.57174768518518518518518518518518518519
25018-JUL-23 05.09.13.000000 AM11-DEC-23 05.09.54.000000 PM+000000104 12:00:41.000000000104.500474537037037037037037037037037037
25118-JUL-23 06.05.49.000000 PM24-JUL-23 08.21.39.000000 PM+000000004 02:15:50.0000000004.0943287037037037037037037037037037037
25219-JUL-23 10.39.48.000000 AM22-JAN-24 05.26.29.000000 AM+000000132 18:46:41.000000000132.782418981481481481481481481481481481
25319-JUL-23 10.08.47.000000 PM18-DEC-23 07.34.11.000000 PM+000000107 21:25:24.000000000107.892638888888888888888888888888888889
25421-JUL-23 02.33.35.000000 PM15-NOV-23 04.23.22.000000 PM+000000083 01:49:47.00000000083.07623842592592592592592592592592592593
25524-JUL-23 10.06.07.000000 AM03-AUG-23 03.36.37.000000 AM+000000007 17:30:30.0000000007.72951388888888888888888888888888888888
25624-JUL-23 11.14.15.000000 AM22-AUG-23 11.15.34.000000 AM+000000021 00:01:19.00000000021.00091435185185185185185185185185185185
25724-JUL-23 11.43.32.000000 AM04-DEC-23 05.45.56.000000 PM+000000095 06:02:24.00000000095.25166666666666666666666666666666666667
25824-JUL-23 09.01.35.000000 PM22-NOV-23 02.20.43.000000 AM+000000086 05:19:08.00000000086.22162037037037037037037037037037037036
25924-JUL-23 09.23.51.000000 PM25-JAN-24 10.04.08.000000 AM+000000132 12:40:17.000000000132.527974537037037037037037037037037037
26026-JUL-23 08.06.45.000000 AM05-SEP-23 01.43.31.000000 PM+000000029 05:36:46.00000000029.23386574074074074074074074074074074074
26126-JUL-23 08.55.19.000000 AM09-NOV-23 12.34.35.000000 AM+000000075 15:39:16.00000000075.65226851851851851851851851851851851852
26226-JUL-23 06.29.02.000000 PM21-NOV-23 12.01.03.000000 PM+000000083 17:32:01.00000000083.73056712962962962962962962962962962962
26326-JUL-23 07.29.43.000000 PM12-SEP-23 03.51.27.000000 AM+000000033 08:21:44.00000000033.34842592592592592592592592592592592592
26427-JUL-23 06.56.56.000000 PM16-OCT-23 06.38.48.000000 PM+000000056 23:41:52.00000000056.9874074074074074074074074074074074074
26528-JUL-23 05.12.08.000000 PM02-OCT-23 01.18.55.000000 AM+000000045 08:06:47.00000000045.33804398148148148148148148148148148148
26631-JUL-23 05.26.08.000000 AM30-NOV-23 11.17.07.000000 AM+000000088 05:50:59.00000000088.24373842592592592592592592592592592592
26731-JUL-23 07.44.03.000000 AM04-JAN-24 03.59.43.000000 AM+000000112 20:15:40.000000000112.844212962962962962962962962962962963
26831-JUL-23 10.07.48.000000 AM01-JAN-24 02.48.38.000000 AM+000000109 16:40:50.000000000109.695023148148148148148148148148148149
26931-JUL-23 12.04.26.000000 PM27-SEP-23 11.35.46.000000 PM+000000042 11:31:20.00000000042.48009259259259259259259259259259259259
27031-JUL-23 02.35.09.000000 PM24-AUG-23 06.36.12.000000 AM+000000017 16:01:03.00000000017.66739583333333333333333333333333333333
27131-JUL-23 04.22.05.000000 PM06-FEB-24 02.46.39.000000 AM+000000135 10:24:34.000000000135.433726851851851851851851851851851853
27231-JUL-23 06.35.39.000000 PM18-SEP-23 05.51.34.000000 AM+000000034 11:15:55.00000000034.46938657407407407407407407407407407407
27301-AUG-23 12.04.38.000000 AM25-JAN-24 03.04.02.000000 AM+000000127 02:59:24.000000000127.124583333333333333333333333333333333
27401-AUG-23 07.28.22.000000 PM30-OCT-23 11.45.12.000000 PM+000000064 04:16:50.00000000064.17835648148148148148148148148148148148
27501-AUG-23 10.09.25.000000 PM06-NOV-23 11.40.21.000000 PM+000000069 01:30:56.00000000069.06314814814814814814814814814814814815
27602-AUG-23 11.37.54.000000 AM29-DEC-23 06.53.06.000000 PM+000000107 07:15:12.000000000107.302222222222222222222222222222222223
27702-AUG-23 05.46.45.000000 PM28-AUG-23 12.47.23.000000 AM+000000017 07:00:38.00000000017.29210648148148148148148148148148148148
27803-AUG-23 07.43.07.000000 AM03-OCT-23 05.16.39.000000 PM+000000043 09:33:32.00000000043.39828703703703703703703703703703703704
27903-AUG-23 09.00.38.000000 AM02-JAN-24 08.41.45.000000 PM+000000108 11:41:07.000000000108.486886574074074074074074074074074074
28003-AUG-23 04.00.23.000000 PM17-OCT-23 09.07.27.000000 PM+000000053 05:07:04.00000000053.21324074074074074074074074074074074074
28107-AUG-23 12.55.53.000000 AM14-DEC-23 05.59.42.000000 PM+000000093 17:03:49.00000000093.71098379629629629629629629629629629629
28207-AUG-23 04.40.45.000000 AM06-NOV-23 03.43.00.000000 PM+000000065 11:02:15.00000000065.45989583333333333333333333333333333333
28307-AUG-23 06.06.08.000000 PM05-OCT-23 12.48.19.000000 PM+000000042 18:42:11.00000000042.77929398148148148148148148148148148148
28408-AUG-23 10.07.45.000000 AM27-OCT-23 08.21.59.000000 AM+000000057 22:14:14.00000000057.92655092592592592592592592592592592593
28510-AUG-23 07.37.37.000000 AM02-OCT-23 08.18.05.000000 AM+000000037 00:40:28.00000000037.02810185185185185185185185185185185185
28611-AUG-23 08.36.36.000000 AM29-AUG-23 09.43.52.000000 PM+000000012 13:07:16.00000000012.54671296296296296296296296296296296297
28711-AUG-23 11.06.35.000000 PM26-SEP-23 12.40.12.000000 PM+000000031 13:33:37.00000000031.56501157407407407407407407407407407408
28814-AUG-23 04.12.10.000000 AM11-SEP-23 12.12.13.000000 AM+000000019 20:00:03.00000000019.83336805555555555555555555555555555555
28914-AUG-23 07.08.16.000000 AM12-FEB-24 09.02.45.000000 AM+000000130 01:54:29.000000000130.079502314814814814814814814814814815
29014-AUG-23 09.41.31.000000 AM20-SEP-23 09.30.38.000000 AM+000000026 23:49:07.00000000026.99244212962962962962962962962962962963
29114-AUG-23 08.14.01.000000 PM24-NOV-23 01.16.46.000000 PM+000000073 17:02:45.00000000073.71024305555555555555555555555555555555
29218-AUG-23 01.40.53.000000 PM18-SEP-23 09.05.54.000000 PM+000000021 07:25:01.00000000021.30903935185185185185185185185185185185
29321-AUG-23 02.42.45.000000 AM03-OCT-23 11.37.27.000000 AM+000000031 08:54:42.00000000031.37131944444444444444444444444444444444
29421-AUG-23 08.17.27.000000 PM28-AUG-23 10.37.20.000000 PM+000000005 02:19:53.0000000005.0971412037037037037037037037037037037
29522-AUG-23 12.13.50.000000 PM31-JAN-24 04.23.57.000000 AM+000000115 16:10:07.000000000115.67369212962962962962962962962962963
29622-AUG-23 05.27.48.000000 PM22-JAN-24 12.29.39.000000 AM+000000108 07:01:51.000000000108.292951388888888888888888888888888889
29723-AUG-23 03.08.28.000000 PM13-SEP-23 04.38.59.000000 AM+000000014 13:30:31.00000000014.5628587962962962962962962962962962963
29824-AUG-23 03.29.13.000000 AM09-FEB-24 01.21.30.000000 PM+000000121 09:52:17.000000000121.41130787037037037037037037037037037
29925-AUG-23 06.40.19.000000 AM27-NOV-23 10.49.53.000000 AM+000000066 04:09:34.00000000066.17331018518518518518518518518518518519
30028-AUG-23 01.59.35.000000 AM11-JAN-24 04.15.39.000000 PM+000000098 14:16:04.00000000098.59449074074074074074074074074074074074
30128-AUG-23 02.18.58.000000 AM13-SEP-23 10.16.40.000000 AM+000000012 07:57:42.00000000012.33173611111111111111111111111111111111
30228-AUG-23 04.25.59.000000 AM20-NOV-23 09.42.53.000000 AM+000000060 05:16:54.00000000060.22006944444444444444444444444444444444
30328-AUG-23 06.17.49.000000 AM11-DEC-23 07.06.35.000000 AM+000000075 00:48:46.00000000075.03386574074074074074074074074074074074
30428-AUG-23 02.03.24.000000 PM18-JAN-24 08.30.40.000000 AM+000000102 18:27:16.000000000102.768935185185185185185185185185185185
30530-AUG-23 03.16.21.000000 PM09-NOV-23 08.48.39.000000 PM+000000051 05:32:18.00000000051.23076388888888888888888888888888888888
30601-SEP-23 01.25.09.000000 AM29-DEC-23 03.46.00.000000 PM+000000085 14:20:51.00000000085.5978125
30704-SEP-23 12.44.07.000000 AM30-OCT-23 12.35.03.000000 PM+000000040 11:50:56.00000000040.4937037037037037037037037037037037037
30804-SEP-23 01.03.32.000000 AM25-SEP-23 12.28.31.000000 PM+000000015 11:24:59.00000000015.47568287037037037037037037037037037037
30904-SEP-23 01.09.29.000000 AM22-NOV-23 01.19.49.000000 AM+000000057 00:10:20.00000000057.00717592592592592592592592592592592592
31004-SEP-23 06.48.09.000000 PM20-SEP-23 07.56.28.000000 AM+000000011 13:08:19.00000000011.54744212962962962962962962962962962964
31105-SEP-23 09.57.16.000000 PM26-SEP-23 01.17.54.000000 AM+000000014 03:20:38.00000000014.1393287037037037037037037037037037037
31211-SEP-23 07.31.56.000000 PM09-OCT-23 03.19.03.000000 PM+000000019 19:47:07.00000000019.82438657407407407407407407407407407408
31311-SEP-23 07.34.40.000000 PM17-JAN-24 06.23.22.000000 AM+000000091 10:48:42.00000000091.45048611111111111111111111111111111111
31411-SEP-23 09.15.57.000000 PM04-DEC-23 03.40.59.000000 PM+000000059 18:25:02.00000000059.76738425925925925925925925925925925926
31512-SEP-23 12.45.04.000000 AM30-JAN-24 12.58.57.000000 AM+000000100 00:13:53.000000000100.009641203703703703703703703703703704
31612-SEP-23 01.23.47.000000 PM25-OCT-23 10.29.26.000000 PM+000000031 09:05:39.00000000031.37892361111111111111111111111111111111
31712-SEP-23 03.00.30.000000 PM01-DEC-23 10.40.20.000000 PM+000000058 07:39:50.00000000058.3193287037037037037037037037037037037
31813-SEP-23 01.04.02.000000 AM13-OCT-23 03.15.49.000000 AM+000000022 02:11:47.00000000022.0915162037037037037037037037037037037
31913-SEP-23 05.32.30.000000 AM01-DEC-23 06.30.35.000000 AM+000000057 00:58:05.00000000057.04033564814814814814814814814814814815
32013-SEP-23 11.23.06.000000 AM29-SEP-23 01.47.27.000000 AM+000000011 14:24:21.00000000011.60024305555555555555555555555555555556
32113-SEP-23 05.17.23.000000 PM09-OCT-23 07.01.52.000000 AM+000000017 13:44:29.00000000017.57255787037037037037037037037037037038
32214-SEP-23 12.49.47.000000 AM28-DEC-23 09.38.57.000000 AM+000000075 08:49:10.00000000075.36747685185185185185185185185185185185
32315-SEP-23 02.58.39.000000 PM07-FEB-24 12.14.03.000000 PM+000000102 21:15:24.000000000102.885694444444444444444444444444444445
32418-SEP-23 07.07.46.000000 AM25-DEC-23 07.12.54.000000 PM+000000070 12:05:08.00000000070.50356481481481481481481481481481481481
32518-SEP-23 12.31.24.000000 PM03-OCT-23 05.11.25.000000 PM+000000011 04:40:01.00000000011.19445601851851851851851851851851851852
32618-SEP-23 05.46.02.000000 PM18-OCT-23 07.00.51.000000 PM+000000022 01:14:49.00000000022.05195601851851851851851851851851851852
32718-SEP-23 09.15.04.000000 PM24-NOV-23 04.01.52.000000 AM+000000048 06:46:48.00000000048.2825
32818-SEP-23 11.47.17.000000 PM30-NOV-23 12.34.31.000000 PM+000000052 12:47:14.00000000052.53280092592592592592592592592592592593
32919-SEP-23 03.13.32.000000 AM26-JAN-24 04.28.37.000000 PM+000000093 13:15:05.00000000093.55214120370370370370370370370370370371
33020-SEP-23 12.12.13.000000 AM10-OCT-23 01.42.45.000000 PM+000000014 13:30:32.00000000014.56287037037037037037037037037037037037
33121-SEP-23 10.24.41.000000 PM20-DEC-23 08.44.58.000000 AM+000000063 10:20:17.00000000063.43075231481481481481481481481481481482
33222-SEP-23 09.22.37.000000 AM28-DEC-23 03.30.31.000000 PM+000000069 06:07:54.00000000069.25548611111111111111111111111111111111
33325-SEP-23 04.48.12.000000 AM03-NOV-23 11.20.15.000000 PM+000000029 18:32:03.00000000029.77225694444444444444444444444444444444
33426-SEP-23 06.20.53.000000 AM08-NOV-23 03.26.54.000000 AM+000000030 21:06:01.00000000030.87917824074074074074074074074074074074
33527-SEP-23 07.38.59.000000 AM29-JAN-24 10.49.01.000000 AM+000000088 03:10:02.00000000088.13196759259259259259259259259259259259
33628-SEP-23 11.01.09.000000 AM04-JAN-24 03.38.05.000000 PM+000000070 04:36:56.00000000070.19231481481481481481481481481481481482
33702-OCT-23 05.52.38.000000 AM01-JAN-24 03.04.13.000000 AM+000000064 21:11:35.00000000064.88304398148148148148148148148148148148
33802-OCT-23 07.26.33.000000 PM11-JAN-24 10.09.55.000000 PM+000000073 02:43:22.00000000073.11344907407407407407407407407407407407
33902-OCT-23 08.20.41.000000 PM01-DEC-23 06.07.54.000000 AM+000000043 09:47:13.00000000043.40778935185185185185185185185185185185
34003-OCT-23 11.24.33.000000 PM06-NOV-23 03.32.45.000000 PM+000000023 16:08:12.00000000023.67236111111111111111111111111111111112
34106-OCT-23 03.50.14.000000 AM06-NOV-23 01.54.19.000000 PM+000000021 10:04:05.00000000021.41950231481481481481481481481481481482
34206-OCT-23 10.19.31.000000 PM07-DEC-23 03.55.42.000000 AM+000000043 05:36:11.00000000043.23346064814814814814814814814814814814
34309-OCT-23 11.40.20.000000 PM14-DEC-23 01.37.20.000000 PM+000000047 13:57:00.00000000047.58125
34410-OCT-23 12.35.17.000000 AM20-NOV-23 11.51.17.000000 AM+000000029 11:16:00.00000000029.46944444444444444444444444444444444444
34510-OCT-23 01.03.32.000000 AM12-OCT-23 07.51.16.000000 PM+000000002 18:47:44.0000000002.78314814814814814814814814814814814815
34612-OCT-23 12.17.27.000000 AM15-JAN-24 10.03.10.000000 AM+000000067 09:45:43.00000000067.40674768518518518518518518518518518519
34712-OCT-23 03.25.06.000000 AM25-DEC-23 05.21.09.000000 PM+000000052 13:56:03.00000000052.58059027777777777777777777777777777778
34813-OCT-23 08.25.07.000000 AM24-NOV-23 04.22.28.000000 AM+000000029 19:57:21.00000000029.83149305555555555555555555555555555556
34913-OCT-23 03.41.14.000000 PM03-NOV-23 03.58.42.000000 PM+000000015 00:17:28.00000000015.01212962962962962962962962962962962963
35016-OCT-23 04.57.33.000000 AM25-DEC-23 03.29.21.000000 AM+000000049 22:31:48.00000000049.93875000000000000000000000000000000001
35116-OCT-23 07.15.48.000000 AM26-DEC-23 07.35.14.000000 PM+000000051 12:19:26.00000000051.51349537037037037037037037037037037037
35218-OCT-23 01.49.43.000000 AM12-FEB-24 03.39.41.000000 PM+000000083 13:49:58.00000000083.57636574074074074074074074074074074075
35318-OCT-23 11.50.35.000000 AM29-NOV-23 11.57.31.000000 AM+000000030 00:06:56.00000000030.00481481481481481481481481481481481482
35419-OCT-23 12.50.15.000000 AM10-JAN-24 06.56.56.000000 AM+000000059 06:06:41.00000000059.25464120370370370370370370370370370371
35519-OCT-23 10.52.02.000000 AM08-JAN-24 07.02.07.000000 PM+000000057 08:10:05.00000000057.34033564814814814814814814814814814814
35619-OCT-23 08.58.56.000000 PM30-OCT-23 04.13.22.000000 PM+000000006 19:14:26.0000000006.80168981481481481481481481481481481482
35723-OCT-23 02.41.02.000000 AM23-NOV-23 06.43.48.000000 AM+000000023 04:02:46.00000000023.16858796296296296296296296296296296297
35823-OCT-23 04.46.56.000000 AM25-DEC-23 11.12.59.000000 PM+000000045 18:26:03.00000000045.76809027777777777777777777777777777778
35923-OCT-23 07.54.10.000000 PM23-JAN-24 11.48.10.000000 PM+000000066 03:54:00.00000000066.1625
36023-OCT-23 10.05.01.000000 PM18-DEC-23 05.48.52.000000 PM+000000039 19:43:51.00000000039.82211805555555555555555555555555555556
36124-OCT-23 04.11.19.000000 PM05-FEB-24 11.16.03.000000 PM+000000074 07:04:44.00000000074.29495370370370370370370370370370370371
36224-OCT-23 11.47.50.000000 PM21-NOV-23 06.47.01.000000 AM+000000019 06:59:11.00000000019.29109953703703703703703703703703703703
36326-OCT-23 02.42.02.000000 AM27-DEC-23 10.12.26.000000 AM+000000044 07:30:24.00000000044.31277777777777777777777777777777777778
36426-OCT-23 05.54.01.000000 AM20-DEC-23 03.41.59.000000 PM+000000039 09:47:58.00000000039.40831018518518518518518518518518518519
36526-OCT-23 01.06.12.000000 PM24-NOV-23 01.50.30.000000 PM+000000021 00:44:18.00000000021.03076388888888888888888888888888888889
36626-OCT-23 06.44.26.000000 PM18-DEC-23 10.31.13.000000 PM+000000037 03:46:47.00000000037.15748842592592592592592592592592592592
36726-OCT-23 09.14.11.000000 PM13-NOV-23 04.33.44.000000 AM+000000011 07:19:33.00000000011.30524305555555555555555555555555555555
36827-OCT-23 04.07.32.000000 AM07-FEB-24 09.31.46.000000 AM+000000073 05:24:14.00000000073.22516203703703703703703703703703703704
36930-OCT-23 03.31.01.000000 AM13-NOV-23 01.23.12.000000 PM+000000010 09:52:11.00000000010.41123842592592592592592592592592592592
37030-OCT-23 10.42.37.000000 AM15-JAN-24 07.23.32.000000 AM+000000054 20:40:55.00000000054.86174768518518518518518518518518518518
37130-OCT-23 05.43.31.000000 PM03-JAN-24 06.05.57.000000 PM+000000047 00:22:26.00000000047.01557870370370370370370370370370370371
37230-OCT-23 07.43.53.000000 PM08-JAN-24 04.24.18.000000 PM+000000049 20:40:25.00000000049.86140046296296296296296296296296296296
37330-OCT-23 11.06.39.000000 PM29-JAN-24 09.35.03.000000 PM+000000064 22:28:24.00000000064.93638888888888888888888888888888888889
37401-NOV-23 02.38.25.000000 AM01-FEB-24 12.01.01.000000 AM+000000065 21:22:36.00000000065.89069444444444444444444444444444444445
37502-NOV-23 10.52.37.000000 AM12-DEC-23 01.41.45.000000 PM+000000028 02:49:08.00000000028.1174537037037037037037037037037037037
37602-NOV-23 01.44.37.000000 PM27-NOV-23 02.14.17.000000 AM+000000016 12:29:40.00000000016.52060185185185185185185185185185185185
37703-NOV-23 02.04.48.000000 AM15-JAN-24 08.42.41.000000 PM+000000051 18:37:53.00000000051.77630787037037037037037037037037037037
37803-NOV-23 04.53.53.000000 PM15-NOV-23 09.47.45.000000 AM+000000007 16:53:52.0000000007.70407407407407407407407407407407407408
37906-NOV-23 02.32.47.000000 AM05-FEB-24 01.43.58.000000 PM+000000065 11:11:11.00000000065.46609953703703703703703703703703703703
38006-NOV-23 06.52.31.000000 AM22-DEC-23 11.59.36.000000 AM+000000034 05:07:05.00000000034.21325231481481481481481481481481481481
38106-NOV-23 08.01.49.000000 AM24-JAN-24 02.45.10.000000 AM+000000056 18:43:21.00000000056.78010416666666666666666666666666666667
38206-NOV-23 04.29.01.000000 PM19-DEC-23 09.59.27.000000 AM+000000030 17:30:26.00000000030.72946759259259259259259259259259259259
38306-NOV-23 07.04.16.000000 PM21-DEC-23 07.00.43.000000 AM+000000032 11:56:27.00000000032.49753472222222222222222222222222222222
38407-NOV-23 10.47.29.000000 AM09-NOV-23 07.15.45.000000 AM+000000001 20:28:16.0000000001.85296296296296296296296296296296296296
38509-NOV-23 07.45.12.000000 PM29-JAN-24 03.23.16.000000 PM+000000056 19:38:04.00000000056.81810185185185185185185185185185185186
38613-NOV-23 04.59.00.000000 AM19-DEC-23 01.33.46.000000 AM+000000025 20:34:46.00000000025.85747685185185185185185185185185185185
38713-NOV-23 04.47.35.000000 PM19-JAN-24 01.59.51.000000 AM+000000048 09:12:16.00000000048.38351851851851851851851851851851851852
38813-NOV-23 09.49.55.000000 PM08-FEB-24 08.49.53.000000 PM+000000062 22:59:58.00000000062.95831018518518518518518518518518518519
38914-NOV-23 01.37.10.000000 AM16-JAN-24 10.25.53.000000 PM+000000045 20:48:43.00000000045.86716435185185185185185185185185185185
39014-NOV-23 07.45.11.000000 AM15-DEC-23 11.22.04.000000 AM+000000023 03:36:53.00000000023.15061342592592592592592592592592592593
39114-NOV-23 07.25.12.000000 PM26-JAN-24 04.56.27.000000 AM+000000052 09:31:15.00000000052.39670138888888888888888888888888888889
39215-NOV-23 03.45.32.000000 PM29-JAN-24 09.00.47.000000 PM+000000053 05:15:15.00000000053.21892361111111111111111111111111111111
39316-NOV-23 03.14.22.000000 AM22-JAN-24 10.57.48.000000 AM+000000047 07:43:26.00000000047.32182870370370370370370370370370370371
39417-NOV-23 12.31.12.000000 AM23-JAN-24 12.51.41.000000 AM+000000047 00:20:29.00000000047.01422453703703703703703703703703703704
39520-NOV-23 01.53.10.000000 PM13-DEC-23 07.17.20.000000 PM+000000017 05:24:10.00000000017.22511574074074074074074074074074074074
39621-NOV-23 03.19.17.000000 AM26-JAN-24 09.22.13.000000 AM+000000048 06:02:56.00000000048.25203703703703703703703703703703703704
39721-NOV-23 03.50.59.000000 PM22-DEC-23 11.41.47.000000 AM+000000022 19:50:48.00000000022.82694444444444444444444444444444444445
39821-NOV-23 07.33.14.000000 PM29-JAN-24 10.21.37.000000 AM+000000048 14:48:23.00000000048.61693287037037037037037037037037037036
39922-NOV-23 03.48.01.000000 PM26-DEC-23 01.55.51.000000 AM+000000023 10:07:50.00000000023.42210648148148148148148148148148148148
40023-NOV-23 09.24.12.000000 AM05-FEB-24 11.06.57.000000 AM+000000052 01:42:45.00000000052.07135416666666666666666666666666666667
40124-NOV-23 06.09.02.000000 PM14-DEC-23 02.22.51.000000 PM+000000013 20:13:49.00000000013.84292824074074074074074074074074074074
40227-NOV-23 09.31.53.000000 AM01-JAN-24 10.05.02.000000 PM+000000025 12:33:09.00000000025.52302083333333333333333333333333333334
40327-NOV-23 11.17.36.000000 PM08-DEC-23 11.21.44.000000 PM+000000009 00:04:08.0000000009.00287037037037037037037037037037037037
40430-NOV-23 02.28.37.000000 AM01-DEC-23 01.16.21.000000 PM+000000001 10:47:44.0000000001.44981481481481481481481481481481481482
40530-NOV-23 04.28.50.000000 PM08-JAN-24 05.56.09.000000 PM+000000027 01:27:19.00000000027.06063657407407407407407407407407407408
40601-DEC-23 07.10.11.000000 AM01-JAN-24 06.30.56.000000 PM+000000021 11:20:45.00000000021.47274305555555555555555555555555555555
40701-DEC-23 03.04.47.000000 PM01-JAN-24 01.22.54.000000 AM+000000020 10:18:07.00000000020.42924768518518518518518518518518518519
40804-DEC-23 01.44.42.000000 PM03-JAN-24 12.51.47.000000 PM+000000021 23:07:05.00000000021.96325231481481481481481481481481481481
40904-DEC-23 05.56.36.000000 PM11-DEC-23 09.56.06.000000 AM+000000004 15:59:30.0000000004.66631944444444444444444444444444444444
41005-DEC-23 05.00.03.000000 PM05-FEB-24 10.04.00.000000 AM+000000043 17:03:57.00000000043.71107638888888888888888888888888888888
41106-DEC-23 04.15.34.000000 AM19-DEC-23 08.01.33.000000 AM+000000009 03:45:59.0000000009.15693287037037037037037037037037037037
41206-DEC-23 03.12.41.000000 PM18-JAN-24 01.49.19.000000 PM+000000030 22:36:38.00000000030.94210648148148148148148148148148148148
41306-DEC-23 11.25.23.000000 PM29-JAN-24 08.56.49.000000 PM+000000037 21:31:26.00000000037.89682870370370370370370370370370370371
41407-DEC-23 05.14.09.000000 PM18-DEC-23 08.49.55.000000 AM+000000006 15:35:46.0000000006.64983796296296296296296296296296296297
41507-DEC-23 06.50.29.000000 PM26-JAN-24 02.19.13.000000 PM+000000035 19:28:44.00000000035.81162037037037037037037037037037037037
41607-DEC-23 10.00.19.000000 PM31-JAN-24 12.29.26.000000 AM+000000038 02:29:07.00000000038.10355324074074074074074074074074074074
41708-DEC-23 04.50.10.000000 AM11-DEC-23 09.11.17.000000 AM+000000001 04:21:07.0000000001.18133101851851851851851851851851851852
41811-DEC-23 04.56.36.000000 AM22-JAN-24 02.06.53.000000 AM+000000029 21:10:17.00000000029.8821412037037037037037037037037037037
41911-DEC-23 07.07.01.000000 AM21-DEC-23 03.38.35.000000 PM+000000008 08:31:34.0000000008.35525462962962962962962962962962962963
42011-DEC-23 09.23.29.000000 AM12-JAN-24 04.29.20.000000 AM+000000023 19:05:51.00000000023.79572916666666666666666666666666666667
42111-DEC-23 08.22.10.000000 PM04-JAN-24 04.09.57.000000 PM+000000017 19:47:47.00000000017.82484953703703703703703703703703703704
42211-DEC-23 10.44.23.000000 PM25-DEC-23 01.15.47.000000 AM+000000009 02:31:24.0000000009.10513888888888888888888888888888888889
42313-DEC-23 05.02.47.000000 PM01-JAN-24 01.50.52.000000 PM+000000012 20:48:05.00000000012.86672453703703703703703703703703703703
42418-DEC-23 12.13.07.000000 AM29-JAN-24 05.29.26.000000 AM+000000030 05:16:19.00000000030.21966435185185185185185185185185185185
42518-DEC-23 12.22.10.000000 AM21-DEC-23 02.56.50.000000 AM+000000003 02:34:40.0000000003.1074074074074074074074074074074074074
42618-DEC-23 06.20.23.000000 AM21-DEC-23 09.34.09.000000 AM+000000003 03:13:46.0000000003.13456018518518518518518518518518518519
42718-DEC-23 01.44.09.000000 PM09-FEB-24 03.59.07.000000 AM+000000038 14:14:58.00000000038.59372685185185185185185185185185185185
42818-DEC-23 07.51.36.000000 PM02-JAN-24 04.52.13.000000 AM+000000010 09:00:37.00000000010.37542824074074074074074074074074074074
42918-DEC-23 09.00.14.000000 PM08-JAN-24 03.27.33.000000 AM+000000014 06:27:19.00000000014.26896990740740740740740740740740740741
43019-DEC-23 03.14.43.000000 AM25-JAN-24 12.53.57.000000 AM+000000026 21:39:14.00000000026.90224537037037037037037037037037037037
43120-DEC-23 06.50.49.000000 PM08-JAN-24 03.31.35.000000 PM+000000012 20:40:46.00000000012.86164351851851851851851851851851851852
43221-DEC-23 07.35.58.000000 PM29-JAN-24 10.04.17.000000 AM+000000026 14:28:19.00000000026.60299768518518518518518518518518518518
43322-DEC-23 11.12.01.000000 AM30-JAN-24 05.21.43.000000 AM+000000026 18:09:42.00000000026.75673611111111111111111111111111111111
43425-DEC-23 01.17.59.000000 AM26-JAN-24 07.52.51.000000 PM+000000024 18:34:52.00000000024.77421296296296296296296296296296296296
43525-DEC-23 03.37.07.000000 AM08-JAN-24 02.14.05.000000 PM+000000010 10:36:58.00000000010.44233796296296296296296296296296296297
43625-DEC-23 12.40.43.000000 PM01-JAN-24 07.55.36.000000 AM+000000004 19:14:53.0000000004.80200231481481481481481481481481481482
43725-DEC-23 11.49.47.000000 PM17-JAN-24 06.20.33.000000 PM+000000016 18:30:46.00000000016.77136574074074074074074074074074074074
43826-DEC-23 05.22.19.000000 AM29-JAN-24 03.51.53.000000 PM+000000024 10:29:34.00000000024.43719907407407407407407407407407407408
43927-DEC-23 05.17.00.000000 AM05-FEB-24 11.27.51.000000 AM+000000028 06:10:51.00000000028.25753472222222222222222222222222222222
44027-DEC-23 09.35.45.000000 AM02-JAN-24 11.13.35.000000 PM+000000004 13:37:50.0000000004.56793981481481481481481481481481481481
44128-DEC-23 08.01.04.000000 AM02-JAN-24 03.42.52.000000 AM+000000002 19:41:48.0000000002.82069444444444444444444444444444444445
44229-DEC-23 07.53.13.000000 AM08-JAN-24 09.50.39.000000 AM+000000006 01:57:26.0000000006.08155092592592592592592592592592592593
44301-JAN-24 12.20.49.000000 PM15-JAN-24 12.45.32.000000 PM+000000010 00:24:43.00000000010.01716435185185185185185185185185185186
44402-JAN-24 08.43.21.000000 AM17-JAN-24 11.15.50.000000 PM+000000011 14:32:29.00000000011.6058912037037037037037037037037037037
44503-JAN-24 03.51.38.000000 AM22-JAN-24 07.32.29.000000 PM+000000013 15:40:51.00000000013.65336805555555555555555555555555555556
44604-JAN-24 08.29.19.000000 PM16-JAN-24 05.32.54.000000 PM+000000007 21:03:35.0000000007.87748842592592592592592592592592592592
44705-JAN-24 07.08.41.000000 AM05-FEB-24 07.27.25.000000 PM+000000021 12:18:44.00000000021.51300925925925925925925925925925925926
44805-JAN-24 08.52.00.000000 AM31-JAN-24 09.55.00.000000 PM+000000018 13:03:00.00000000018.54375
44908-JAN-24 11.16.52.000000 AM05-FEB-24 05.07.58.000000 PM+000000020 05:51:06.00000000020.24381944444444444444444444444444444444
45008-JAN-24 11.42.35.000000 AM05-FEB-24 11.34.23.000000 AM+000000019 23:51:48.00000000019.99430555555555555555555555555555555556
45108-JAN-24 02.47.08.000000 PM08-FEB-24 06.22.28.000000 PM+000000023 03:35:20.00000000023.14953703703703703703703703703703703704
45208-JAN-24 03.56.11.000000 PM08-FEB-24 07.33.56.000000 AM+000000022 15:37:45.00000000022.65121527777777777777777777777777777777
45308-JAN-24 04.50.59.000000 PM12-JAN-24 12.28.09.000000 AM+000000003 07:37:10.0000000003.31747685185185185185185185185185185185
45408-JAN-24 05.43.38.000000 PM12-FEB-24 08.51.54.000000 PM+000000025 03:08:16.00000000025.13074074074074074074074074074074074075
45510-JAN-24 07.47.16.000000 AM22-JAN-24 09.08.41.000000 PM+000000008 13:21:25.0000000008.55653935185185185185185185185185185185
45610-JAN-24 10.43.37.000000 AM19-JAN-24 11.15.00.000000 PM+000000007 12:31:23.0000000007.52179398148148148148148148148148148148
45710-JAN-24 06.29.15.000000 PM05-FEB-24 10.52.13.000000 AM+000000017 16:22:58.00000000017.68261574074074074074074074074074074075
45811-JAN-24 07.22.01.000000 AM02-FEB-24 01.04.11.000000 AM+000000015 17:42:10.00000000015.73761574074074074074074074074074074074
45912-JAN-24 08.58.07.000000 AM22-JAN-24 02.04.58.000000 PM+000000006 05:06:51.0000000006.21309027777777777777777777777777777778
46012-JAN-24 11.15.41.000000 AM22-JAN-24 03.26.19.000000 PM+000000006 04:10:38.0000000006.17405092592592592592592592592592592592
46115-JAN-24 03.13.29.000000 AM12-FEB-24 10.32.53.000000 PM+000000020 19:19:24.00000000020.80513888888888888888888888888888888889
46215-JAN-24 07.27.59.000000 AM15-JAN-24 02.44.28.000000 PM+000000000 07:16:29.000000000.3031134259259259259259259259259259259259
46315-JAN-24 12.04.40.000000 PM08-FEB-24 06.50.50.000000 AM+000000017 18:46:10.00000000017.78206018518518518518518518518518518518
46415-JAN-24 01.21.28.000000 PM15-JAN-24 10.16.57.000000 PM+000000000 08:55:29.000000000.3718634259259259259259259259259259259258
46515-JAN-24 08.36.22.000000 PM12-FEB-24 02.19.15.000000 AM+000000019 05:42:53.00000000019.23811342592592592592592592592592592593
46616-JAN-24 05.09.54.000000 AM01-FEB-24 09.48.31.000000 AM+000000012 04:38:37.00000000012.1934837962962962962962962962962962963
46716-JAN-24 08.41.32.000000 PM12-FEB-24 04.42.47.000000 PM+000000018 20:01:15.00000000018.83420138888888888888888888888888888888
46817-JAN-24 05.56.28.000000 AM29-JAN-24 06.41.43.000000 PM+000000008 12:45:15.0000000008.53142361111111111111111111111111111111
46917-JAN-24 06.36.20.000000 AM26-JAN-24 10.56.05.000000 AM+000000007 04:19:45.0000000007.18038194444444444444444444444444444444
47018-JAN-24 03.34.01.000000 AM01-FEB-24 10.45.37.000000 AM+000000010 07:11:36.00000000010.29972222222222222222222222222222222223
47118-JAN-24 07.53.50.000000 AM22-JAN-24 05.18.09.000000 PM+000000002 09:24:19.0000000002.39188657407407407407407407407407407408
47218-JAN-24 11.28.21.000000 AM02-FEB-24 10.35.43.000000 PM+000000011 11:07:22.00000000011.46344907407407407407407407407407407407
47318-JAN-24 10.18.01.000000 PM08-FEB-24 10.35.00.000000 PM+000000015 00:16:59.00000000015.01179398148148148148148148148148148148
47422-JAN-24 06.40.15.000000 AM24-JAN-24 04.39.09.000000 AM+000000001 21:58:54.0000000001.91590277777777777777777777777777777778
47522-JAN-24 08.52.24.000000 AM12-FEB-24 08.18.04.000000 AM+000000014 23:25:40.00000000014.9761574074074074074074074074074074074
47622-JAN-24 04.30.33.000000 PM24-JAN-24 02.31.15.000000 PM+000000001 22:00:42.0000000001.91715277777777777777777777777777777778
47723-JAN-24 07.28.56.000000 AM30-JAN-24 03.45.46.000000 AM+000000004 20:16:50.0000000004.84502314814814814814814814814814814814
47825-JAN-24 09.33.44.000000 AM02-FEB-24 02.19.07.000000 AM+000000005 16:45:23.0000000005.69818287037037037037037037037037037037
47925-JAN-24 12.56.57.000000 PM12-FEB-24 01.05.53.000000 AM+000000011 12:08:56.00000000011.50620370370370370370370370370370370371
48025-JAN-24 04.32.57.000000 PM29-JAN-24 06.34.50.000000 PM+000000002 02:01:53.0000000002.0846412037037037037037037037037037037
48126-JAN-24 04.14.22.000000 AM01-FEB-24 06.02.08.000000 AM+000000004 01:47:46.0000000004.07483796296296296296296296296296296297
48226-JAN-24 07.21.46.000000 PM02-FEB-24 11.11.19.000000 AM+000000004 15:49:33.0000000004.65940972222222222222222222222222222222
48330-JAN-24 03.24.02.000000 AM12-FEB-24 02.59.06.000000 PM+000000009 11:35:04.0000000009.48268518518518518518518518518518518519
48430-JAN-24 01.08.46.000000 PM09-FEB-24 03.09.24.000000 AM+000000007 14:00:38.0000000007.58377314814814814814814814814814814814
48530-JAN-24 01.20.32.000000 PM01-FEB-24 06.57.34.000000 AM+000000001 17:37:02.0000000001.73405092592592592592592592592592592592
48630-JAN-24 03.21.43.000000 PM12-FEB-24 05.28.29.000000 PM+000000009 02:06:46.0000000009.08803240740740740740740740740740740741
48731-JAN-24 05.31.30.000000 PM05-FEB-24 12.56.04.000000 PM+000000002 19:24:34.0000000002.80872685185185185185185185185185185186
48802-FEB-24 01.09.39.000000 PM12-FEB-24 12.29.33.000000 AM+000000005 11:19:54.0000000005.47215277777777777777777777777777777777
48902-FEB-24 05.36.21.000000 PM12-FEB-24 02.06.04.000000 AM+000000005 08:29:43.0000000005.35396990740740740740740740740740740741
49005-FEB-24 12.31.35.000000 AM09-FEB-24 07.40.54.000000 AM+000000004 07:09:19.0000000004.29813657407407407407407407407407407408
49105-FEB-24 02.15.23.000000 AM07-FEB-24 11.06.37.000000 AM+000000002 08:51:14.0000000002.36891203703703703703703703703703703704
49205-FEB-24 09.20.38.000000 AM08-FEB-24 04.05.56.000000 PM+000000003 06:45:18.0000000003.28145833333333333333333333333333333333
49305-FEB-24 09.58.08.000000 AM12-FEB-24 08.42.54.000000 AM+000000004 22:44:46.0000000004.94775462962962962962962962962962962964
49405-FEB-24 03.03.41.000000 PM09-FEB-24 10.18.43.000000 AM+000000003 19:15:02.0000000003.80210648148148148148148148148148148149
49507-FEB-24 12.42.32.000000 PM12-FEB-24 10.52.05.000000 PM+000000003 10:09:33.0000000003.42329861111111111111111111111111111111
49608-FEB-24 08.44.27.000000 AM12-FEB-24 10.25.42.000000 PM+000000002 13:41:15.0000000002.5703125
49708-FEB-24 10.14.37.000000 AM12-FEB-24 03.37.08.000000 PM+000000002 05:22:31.0000000002.22396990740740740740740740740740740741
49812-FEB-24 03.23.25.000000 PM12-FEB-24 07.08.30.000000 PM+000000000 03:45:05.000000000.1563078703703703703703703703703703703704
49912-FEB-24 05.52.38.000000 PM12-FEB-24 11.42.02.000000 PM+000000000 05:49:24.000000000.2426388888888888888888888888888888888889
50012-FEB-24 07.19.19.000000 PM12-FEB-24 10.31.03.000000 PM+000000000 03:11:44.000000000.1331481481481481481481481481481481481482

Long-term Solution
My story above explains how I was able to make the best out of my less-than-ideal situation by implementing a short-term solution in the form of a recursive common table expression to generate my calendar data. This solution has a few drawbacks limiting its usability, including the following:

– The attributes describing each date value are limited to the day name.
– The date range captured in the calendar data is unlikely to be sufficient for all reporting scenarios.
– The calendar data is only available to a single user, within a single session, and within the scope of a single statement.

To address the first two drawbacks, the contents of the calendar table can be expanded in terms of attributes and the date range captured. The code below generates one row per day, beginning with the first of the year two years prior and ending with the current date (i.e., February 12th in UTC). For each date value, additional attributes have been included to support a wide array of reporting requirements. Please be aware that I have made use of Oracle specific functions, so if you are planning on running the code in other database products, then you will likely need to swap out some of the functions.

WITH calendar (
    date_value, year_value, month_value, year_number,
    quarter_number, month_number, week_number, day_of_year_number,
    day_of_month_number, day_of_week_number, month_name,
    day_name, weekend
) AS (
    SELECT
        ADD_MONTHS(TRUNC(SYSDATE, 'YEAR'), -24) AS date_value,
		ADD_MONTHS(TRUNC(SYSDATE, 'YEAR'), -24) AS year_value,
		ADD_MONTHS(TRUNC(SYSDATE, 'YEAR'), -24) AS month_value,
		EXTRACT(YEAR FROM ADD_MONTHS(TRUNC(SYSDATE, 'YEAR'), -24)) AS year_number,
		TO_CHAR(ADD_MONTHS(TRUNC(SYSDATE, 'YEAR'), -24), 'Q') AS quarter_number,
		EXTRACT(MONTH FROM ADD_MONTHS(TRUNC(SYSDATE, 'YEAR'), -24)) AS month_number,
		TO_CHAR(ADD_MONTHS(TRUNC(SYSDATE, 'YEAR'), -24), 'W') AS week_number,
		TO_NUMBER(TO_CHAR(ADD_MONTHS(TRUNC(SYSDATE, 'YEAR'), -24), 'DDD')) AS day_of_year_number,
		TO_NUMBER(TO_CHAR(ADD_MONTHS(TRUNC(SYSDATE, 'YEAR'), -24), 'DD')) AS day_of_month_number,
		TO_CHAR(ADD_MONTHS(TRUNC(SYSDATE, 'YEAR'), -24), 'D') AS day_of_week_number,
    	TRIM(TO_CHAR(ADD_MONTHS(TRUNC(SYSDATE, 'YEAR'), -24), 'MONTH')) AS month_name,
    	TRIM(TO_CHAR(ADD_MONTHS(TRUNC(SYSDATE, 'YEAR'), -24), 'DAY')) AS day_name,
		DECODE(
			TO_CHAR(ADD_MONTHS(TRUNC(SYSDATE, 'YEAR'), -24), 'D'),
			1, 1,
			7, 1,
			0
		)
    FROM
        dual
    UNION ALL
    SELECT
        calendar.date_value + 1,
    	TRUNC(calendar.date_value + 1, 'YEAR'),
		TRUNC(calendar.date_value + 1, 'MONTH'),
		EXTRACT(YEAR FROM calendar.date_value + 1),
		TO_CHAR(calendar.date_value + 1, 'Q'),
		EXTRACT(MONTH FROM calendar.date_value + 1),
		TO_CHAR(calendar.date_value + 1, 'W'),
		TO_NUMBER(TO_CHAR(calendar.date_value + 1, 'DDD')),
		TO_NUMBER(TO_CHAR(calendar.date_value + 1, 'DD')),
		TO_CHAR(calendar.date_value + 1, 'D'),
		TRIM(TO_CHAR(calendar.date_value + 1, 'MONTH')),
		TRIM(TO_CHAR(calendar.date_value + 1, 'DAY')),
		DECODE(
			TO_CHAR(calendar.date_value + 1, 'D'),
			1, 1,
			7, 1,
			0
		)		
    FROM
        calendar
    WHERE
        calendar.date_value < TRUNC(SYSDATE)
)
SELECT
	calendar.date_value,
	calendar.year_value,
	calendar.month_value,
	calendar.year_number,
    calendar.quarter_number,
	calendar.month_number,
	calendar.week_number,
	calendar.day_of_year_number,
    calendar.day_of_month_number,
	calendar.day_of_week_number,
	calendar.month_name,
    calendar.day_name,
	calendar.weekend
FROM
	calendar;
date_valueyear_valuemonth_valueyear_numberquarter_numbermonth_numberweek_numberday_of_year_numberday_of_month_numberday_of_week_numbermonth_nameday_nameweekend
01-JAN-2201-JAN-2201-JAN-222022111117JANUARY SATURDAY1
02-JAN-2201-JAN-2201-JAN-222022111221JANUARY SUNDAY1
03-JAN-2201-JAN-2201-JAN-222022111332JANUARY MONDAY0
04-JAN-2201-JAN-2201-JAN-222022111443JANUARY TUESDAY0
05-JAN-2201-JAN-2201-JAN-222022111554JANUARY WEDNESDAY0
06-JAN-2201-JAN-2201-JAN-222022111665JANUARY THURSDAY0
07-JAN-2201-JAN-2201-JAN-222022111776JANUARY FRIDAY0
08-JAN-2201-JAN-2201-JAN-222022112887JANUARY SATURDAY1
09-JAN-2201-JAN-2201-JAN-222022112991JANUARY SUNDAY1
10-JAN-2201-JAN-2201-JAN-22202211210102JANUARY MONDAY0
11-JAN-2201-JAN-2201-JAN-22202211211113JANUARY TUESDAY0
12-JAN-2201-JAN-2201-JAN-22202211212124JANUARY WEDNESDAY0
13-JAN-2201-JAN-2201-JAN-22202211213135JANUARY THURSDAY0
14-JAN-2201-JAN-2201-JAN-22202211214146JANUARY FRIDAY0
15-JAN-2201-JAN-2201-JAN-22202211315157JANUARY SATURDAY1
16-JAN-2201-JAN-2201-JAN-22202211316161JANUARY SUNDAY1
17-JAN-2201-JAN-2201-JAN-22202211317172JANUARY MONDAY0
18-JAN-2201-JAN-2201-JAN-22202211318183JANUARY TUESDAY0
19-JAN-2201-JAN-2201-JAN-22202211319194JANUARY WEDNESDAY0
20-JAN-2201-JAN-2201-JAN-22202211320205JANUARY THURSDAY0
21-JAN-2201-JAN-2201-JAN-22202211321216JANUARY FRIDAY0
22-JAN-2201-JAN-2201-JAN-22202211422227JANUARY SATURDAY1
23-JAN-2201-JAN-2201-JAN-22202211423231JANUARY SUNDAY1
24-JAN-2201-JAN-2201-JAN-22202211424242JANUARY MONDAY0
25-JAN-2201-JAN-2201-JAN-22202211425253JANUARY TUESDAY0
26-JAN-2201-JAN-2201-JAN-22202211426264JANUARY WEDNESDAY0
27-JAN-2201-JAN-2201-JAN-22202211427275JANUARY THURSDAY0
28-JAN-2201-JAN-2201-JAN-22202211428286JANUARY FRIDAY0
29-JAN-2201-JAN-2201-JAN-22202211529297JANUARY SATURDAY1
30-JAN-2201-JAN-2201-JAN-22202211530301JANUARY SUNDAY1
31-JAN-2201-JAN-2201-JAN-22202211531312JANUARY MONDAY0
01-FEB-2201-JAN-2201-FEB-2220221213213FEBRUARY TUESDAY0
02-FEB-2201-JAN-2201-FEB-2220221213324FEBRUARY WEDNESDAY0
03-FEB-2201-JAN-2201-FEB-2220221213435FEBRUARY THURSDAY0
04-FEB-2201-JAN-2201-FEB-2220221213546FEBRUARY FRIDAY0
05-FEB-2201-JAN-2201-FEB-2220221213657FEBRUARY SATURDAY1
06-FEB-2201-JAN-2201-FEB-2220221213761FEBRUARY SUNDAY1
07-FEB-2201-JAN-2201-FEB-2220221213872FEBRUARY MONDAY0
08-FEB-2201-JAN-2201-FEB-2220221223983FEBRUARY TUESDAY0
09-FEB-2201-JAN-2201-FEB-2220221224094FEBRUARY WEDNESDAY0
10-FEB-2201-JAN-2201-FEB-22202212241105FEBRUARY THURSDAY0
11-FEB-2201-JAN-2201-FEB-22202212242116FEBRUARY FRIDAY0
12-FEB-2201-JAN-2201-FEB-22202212243127FEBRUARY SATURDAY1
13-FEB-2201-JAN-2201-FEB-22202212244131FEBRUARY SUNDAY1
14-FEB-2201-JAN-2201-FEB-22202212245142FEBRUARY MONDAY0
15-FEB-2201-JAN-2201-FEB-22202212346153FEBRUARY TUESDAY0
16-FEB-2201-JAN-2201-FEB-22202212347164FEBRUARY WEDNESDAY0
17-FEB-2201-JAN-2201-FEB-22202212348175FEBRUARY THURSDAY0
18-FEB-2201-JAN-2201-FEB-22202212349186FEBRUARY FRIDAY0
19-FEB-2201-JAN-2201-FEB-22202212350197FEBRUARY SATURDAY1
20-FEB-2201-JAN-2201-FEB-22202212351201FEBRUARY SUNDAY1
21-FEB-2201-JAN-2201-FEB-22202212352212FEBRUARY MONDAY0
22-FEB-2201-JAN-2201-FEB-22202212453223FEBRUARY TUESDAY0
23-FEB-2201-JAN-2201-FEB-22202212454234FEBRUARY WEDNESDAY0
24-FEB-2201-JAN-2201-FEB-22202212455245FEBRUARY THURSDAY0
25-FEB-2201-JAN-2201-FEB-22202212456256FEBRUARY FRIDAY0
26-FEB-2201-JAN-2201-FEB-22202212457267FEBRUARY SATURDAY1
27-FEB-2201-JAN-2201-FEB-22202212458271FEBRUARY SUNDAY1
28-FEB-2201-JAN-2201-FEB-22202212459282FEBRUARY MONDAY0
01-MAR-2201-JAN-2201-MAR-2220221316013MARCH TUESDAY0
02-MAR-2201-JAN-2201-MAR-2220221316124MARCH WEDNESDAY0
03-MAR-2201-JAN-2201-MAR-2220221316235MARCH THURSDAY0
04-MAR-2201-JAN-2201-MAR-2220221316346MARCH FRIDAY0
05-MAR-2201-JAN-2201-MAR-2220221316457MARCH SATURDAY1
06-MAR-2201-JAN-2201-MAR-2220221316561MARCH SUNDAY1
07-MAR-2201-JAN-2201-MAR-2220221316672MARCH MONDAY0
08-MAR-2201-JAN-2201-MAR-2220221326783MARCH TUESDAY0
09-MAR-2201-JAN-2201-MAR-2220221326894MARCH WEDNESDAY0
10-MAR-2201-JAN-2201-MAR-22202213269105MARCH THURSDAY0
11-MAR-2201-JAN-2201-MAR-22202213270116MARCH FRIDAY0
12-MAR-2201-JAN-2201-MAR-22202213271127MARCH SATURDAY1
13-MAR-2201-JAN-2201-MAR-22202213272131MARCH SUNDAY1
14-MAR-2201-JAN-2201-MAR-22202213273142MARCH MONDAY0
15-MAR-2201-JAN-2201-MAR-22202213374153MARCH TUESDAY0
16-MAR-2201-JAN-2201-MAR-22202213375164MARCH WEDNESDAY0
17-MAR-2201-JAN-2201-MAR-22202213376175MARCH THURSDAY0
18-MAR-2201-JAN-2201-MAR-22202213377186MARCH FRIDAY0
19-MAR-2201-JAN-2201-MAR-22202213378197MARCH SATURDAY1
20-MAR-2201-JAN-2201-MAR-22202213379201MARCH SUNDAY1
21-MAR-2201-JAN-2201-MAR-22202213380212MARCH MONDAY0
22-MAR-2201-JAN-2201-MAR-22202213481223MARCH TUESDAY0
23-MAR-2201-JAN-2201-MAR-22202213482234MARCH WEDNESDAY0
24-MAR-2201-JAN-2201-MAR-22202213483245MARCH THURSDAY0
25-MAR-2201-JAN-2201-MAR-22202213484256MARCH FRIDAY0
26-MAR-2201-JAN-2201-MAR-22202213485267MARCH SATURDAY1
27-MAR-2201-JAN-2201-MAR-22202213486271MARCH SUNDAY1
28-MAR-2201-JAN-2201-MAR-22202213487282MARCH MONDAY0
29-MAR-2201-JAN-2201-MAR-22202213588293MARCH TUESDAY0
30-MAR-2201-JAN-2201-MAR-22202213589304MARCH WEDNESDAY0
31-MAR-2201-JAN-2201-MAR-22202213590315MARCH THURSDAY0
01-APR-2201-JAN-2201-APR-2220222419116APRIL FRIDAY0
02-APR-2201-JAN-2201-APR-2220222419227APRIL SATURDAY1
03-APR-2201-JAN-2201-APR-2220222419331APRIL SUNDAY1
04-APR-2201-JAN-2201-APR-2220222419442APRIL MONDAY0
05-APR-2201-JAN-2201-APR-2220222419553APRIL TUESDAY0
06-APR-2201-JAN-2201-APR-2220222419664APRIL WEDNESDAY0
07-APR-2201-JAN-2201-APR-2220222419775APRIL THURSDAY0
08-APR-2201-JAN-2201-APR-2220222429886APRIL FRIDAY0
09-APR-2201-JAN-2201-APR-2220222429997APRIL SATURDAY1
10-APR-2201-JAN-2201-APR-222022242100101APRIL SUNDAY1
11-APR-2201-JAN-2201-APR-222022242101112APRIL MONDAY0
12-APR-2201-JAN-2201-APR-222022242102123APRIL TUESDAY0
13-APR-2201-JAN-2201-APR-222022242103134APRIL WEDNESDAY0
14-APR-2201-JAN-2201-APR-222022242104145APRIL THURSDAY0
15-APR-2201-JAN-2201-APR-222022243105156APRIL FRIDAY0
16-APR-2201-JAN-2201-APR-222022243106167APRIL SATURDAY1
17-APR-2201-JAN-2201-APR-222022243107171APRIL SUNDAY1
18-APR-2201-JAN-2201-APR-222022243108182APRIL MONDAY0
19-APR-2201-JAN-2201-APR-222022243109193APRIL TUESDAY0
20-APR-2201-JAN-2201-APR-222022243110204APRIL WEDNESDAY0
21-APR-2201-JAN-2201-APR-222022243111215APRIL THURSDAY0
22-APR-2201-JAN-2201-APR-222022244112226APRIL FRIDAY0
23-APR-2201-JAN-2201-APR-222022244113237APRIL SATURDAY1
24-APR-2201-JAN-2201-APR-222022244114241APRIL SUNDAY1
25-APR-2201-JAN-2201-APR-222022244115252APRIL MONDAY0
26-APR-2201-JAN-2201-APR-222022244116263APRIL TUESDAY0
27-APR-2201-JAN-2201-APR-222022244117274APRIL WEDNESDAY0
28-APR-2201-JAN-2201-APR-222022244118285APRIL THURSDAY0
29-APR-2201-JAN-2201-APR-222022245119296APRIL FRIDAY0
30-APR-2201-JAN-2201-APR-222022245120307APRIL SATURDAY1
01-MAY-2201-JAN-2201-MAY-22202225112111MAY SUNDAY1
02-MAY-2201-JAN-2201-MAY-22202225112222MAY MONDAY0
03-MAY-2201-JAN-2201-MAY-22202225112333MAY TUESDAY0
04-MAY-2201-JAN-2201-MAY-22202225112444MAY WEDNESDAY0
05-MAY-2201-JAN-2201-MAY-22202225112555MAY THURSDAY0
06-MAY-2201-JAN-2201-MAY-22202225112666MAY FRIDAY0
07-MAY-2201-JAN-2201-MAY-22202225112777MAY SATURDAY1
08-MAY-2201-JAN-2201-MAY-22202225212881MAY SUNDAY1
09-MAY-2201-JAN-2201-MAY-22202225212992MAY MONDAY0
10-MAY-2201-JAN-2201-MAY-222022252130103MAY TUESDAY0
11-MAY-2201-JAN-2201-MAY-222022252131114MAY WEDNESDAY0
12-MAY-2201-JAN-2201-MAY-222022252132125MAY THURSDAY0
13-MAY-2201-JAN-2201-MAY-222022252133136MAY FRIDAY0
14-MAY-2201-JAN-2201-MAY-222022252134147MAY SATURDAY1
15-MAY-2201-JAN-2201-MAY-222022253135151MAY SUNDAY1
16-MAY-2201-JAN-2201-MAY-222022253136162MAY MONDAY0
17-MAY-2201-JAN-2201-MAY-222022253137173MAY TUESDAY0
18-MAY-2201-JAN-2201-MAY-222022253138184MAY WEDNESDAY0
19-MAY-2201-JAN-2201-MAY-222022253139195MAY THURSDAY0
20-MAY-2201-JAN-2201-MAY-222022253140206MAY FRIDAY0
21-MAY-2201-JAN-2201-MAY-222022253141217MAY SATURDAY1
22-MAY-2201-JAN-2201-MAY-222022254142221MAY SUNDAY1
23-MAY-2201-JAN-2201-MAY-222022254143232MAY MONDAY0
24-MAY-2201-JAN-2201-MAY-222022254144243MAY TUESDAY0
25-MAY-2201-JAN-2201-MAY-222022254145254MAY WEDNESDAY0
26-MAY-2201-JAN-2201-MAY-222022254146265MAY THURSDAY0
27-MAY-2201-JAN-2201-MAY-222022254147276MAY FRIDAY0
28-MAY-2201-JAN-2201-MAY-222022254148287MAY SATURDAY1
29-MAY-2201-JAN-2201-MAY-222022255149291MAY SUNDAY1
30-MAY-2201-JAN-2201-MAY-222022255150302MAY MONDAY0
31-MAY-2201-JAN-2201-MAY-222022255151313MAY TUESDAY0
01-JUN-2201-JAN-2201-JUN-22202226115214JUNE WEDNESDAY0
02-JUN-2201-JAN-2201-JUN-22202226115325JUNE THURSDAY0
03-JUN-2201-JAN-2201-JUN-22202226115436JUNE FRIDAY0
04-JUN-2201-JAN-2201-JUN-22202226115547JUNE SATURDAY1
05-JUN-2201-JAN-2201-JUN-22202226115651JUNE SUNDAY1
06-JUN-2201-JAN-2201-JUN-22202226115762JUNE MONDAY0
07-JUN-2201-JAN-2201-JUN-22202226115873JUNE TUESDAY0
08-JUN-2201-JAN-2201-JUN-22202226215984JUNE WEDNESDAY0
09-JUN-2201-JAN-2201-JUN-22202226216095JUNE THURSDAY0
10-JUN-2201-JAN-2201-JUN-222022262161106JUNE FRIDAY0
11-JUN-2201-JAN-2201-JUN-222022262162117JUNE SATURDAY1
12-JUN-2201-JAN-2201-JUN-222022262163121JUNE SUNDAY1
13-JUN-2201-JAN-2201-JUN-222022262164132JUNE MONDAY0
14-JUN-2201-JAN-2201-JUN-222022262165143JUNE TUESDAY0
15-JUN-2201-JAN-2201-JUN-222022263166154JUNE WEDNESDAY0
16-JUN-2201-JAN-2201-JUN-222022263167165JUNE THURSDAY0
17-JUN-2201-JAN-2201-JUN-222022263168176JUNE FRIDAY0
18-JUN-2201-JAN-2201-JUN-222022263169187JUNE SATURDAY1
19-JUN-2201-JAN-2201-JUN-222022263170191JUNE SUNDAY1
20-JUN-2201-JAN-2201-JUN-222022263171202JUNE MONDAY0
21-JUN-2201-JAN-2201-JUN-222022263172213JUNE TUESDAY0
22-JUN-2201-JAN-2201-JUN-222022264173224JUNE WEDNESDAY0
23-JUN-2201-JAN-2201-JUN-222022264174235JUNE THURSDAY0
24-JUN-2201-JAN-2201-JUN-222022264175246JUNE FRIDAY0
25-JUN-2201-JAN-2201-JUN-222022264176257JUNE SATURDAY1
26-JUN-2201-JAN-2201-JUN-222022264177261JUNE SUNDAY1
27-JUN-2201-JAN-2201-JUN-222022264178272JUNE MONDAY0
28-JUN-2201-JAN-2201-JUN-222022264179283JUNE TUESDAY0
29-JUN-2201-JAN-2201-JUN-222022265180294JUNE WEDNESDAY0
30-JUN-2201-JAN-2201-JUN-222022265181305JUNE THURSDAY0
01-JUL-2201-JAN-2201-JUL-22202237118216JULY FRIDAY0
02-JUL-2201-JAN-2201-JUL-22202237118327JULY SATURDAY1
03-JUL-2201-JAN-2201-JUL-22202237118431JULY SUNDAY1
04-JUL-2201-JAN-2201-JUL-22202237118542JULY MONDAY0
05-JUL-2201-JAN-2201-JUL-22202237118653JULY TUESDAY0
06-JUL-2201-JAN-2201-JUL-22202237118764JULY WEDNESDAY0
07-JUL-2201-JAN-2201-JUL-22202237118875JULY THURSDAY0
08-JUL-2201-JAN-2201-JUL-22202237218986JULY FRIDAY0
09-JUL-2201-JAN-2201-JUL-22202237219097JULY SATURDAY1
10-JUL-2201-JAN-2201-JUL-222022372191101JULY SUNDAY1
11-JUL-2201-JAN-2201-JUL-222022372192112JULY MONDAY0
12-JUL-2201-JAN-2201-JUL-222022372193123JULY TUESDAY0
13-JUL-2201-JAN-2201-JUL-222022372194134JULY WEDNESDAY0
14-JUL-2201-JAN-2201-JUL-222022372195145JULY THURSDAY0
15-JUL-2201-JAN-2201-JUL-222022373196156JULY FRIDAY0
16-JUL-2201-JAN-2201-JUL-222022373197167JULY SATURDAY1
17-JUL-2201-JAN-2201-JUL-222022373198171JULY SUNDAY1
18-JUL-2201-JAN-2201-JUL-222022373199182JULY MONDAY0
19-JUL-2201-JAN-2201-JUL-222022373200193JULY TUESDAY0
20-JUL-2201-JAN-2201-JUL-222022373201204JULY WEDNESDAY0
21-JUL-2201-JAN-2201-JUL-222022373202215JULY THURSDAY0
22-JUL-2201-JAN-2201-JUL-222022374203226JULY FRIDAY0
23-JUL-2201-JAN-2201-JUL-222022374204237JULY SATURDAY1
24-JUL-2201-JAN-2201-JUL-222022374205241JULY SUNDAY1
25-JUL-2201-JAN-2201-JUL-222022374206252JULY MONDAY0
26-JUL-2201-JAN-2201-JUL-222022374207263JULY TUESDAY0
27-JUL-2201-JAN-2201-JUL-222022374208274JULY WEDNESDAY0
28-JUL-2201-JAN-2201-JUL-222022374209285JULY THURSDAY0
29-JUL-2201-JAN-2201-JUL-222022375210296JULY FRIDAY0
30-JUL-2201-JAN-2201-JUL-222022375211307JULY SATURDAY1
31-JUL-2201-JAN-2201-JUL-222022375212311JULY SUNDAY1
01-AUG-2201-JAN-2201-AUG-22202238121312AUGUST MONDAY0
02-AUG-2201-JAN-2201-AUG-22202238121423AUGUST TUESDAY0
03-AUG-2201-JAN-2201-AUG-22202238121534AUGUST WEDNESDAY0
04-AUG-2201-JAN-2201-AUG-22202238121645AUGUST THURSDAY0
05-AUG-2201-JAN-2201-AUG-22202238121756AUGUST FRIDAY0
06-AUG-2201-JAN-2201-AUG-22202238121867AUGUST SATURDAY1
07-AUG-2201-JAN-2201-AUG-22202238121971AUGUST SUNDAY1
08-AUG-2201-JAN-2201-AUG-22202238222082AUGUST MONDAY0
09-AUG-2201-JAN-2201-AUG-22202238222193AUGUST TUESDAY0
10-AUG-2201-JAN-2201-AUG-222022382222104AUGUST WEDNESDAY0
11-AUG-2201-JAN-2201-AUG-222022382223115AUGUST THURSDAY0
12-AUG-2201-JAN-2201-AUG-222022382224126AUGUST FRIDAY0
13-AUG-2201-JAN-2201-AUG-222022382225137AUGUST SATURDAY1
14-AUG-2201-JAN-2201-AUG-222022382226141AUGUST SUNDAY1
15-AUG-2201-JAN-2201-AUG-222022383227152AUGUST MONDAY0
16-AUG-2201-JAN-2201-AUG-222022383228163AUGUST TUESDAY0
17-AUG-2201-JAN-2201-AUG-222022383229174AUGUST WEDNESDAY0
18-AUG-2201-JAN-2201-AUG-222022383230185AUGUST THURSDAY0
19-AUG-2201-JAN-2201-AUG-222022383231196AUGUST FRIDAY0
20-AUG-2201-JAN-2201-AUG-222022383232207AUGUST SATURDAY1
21-AUG-2201-JAN-2201-AUG-222022383233211AUGUST SUNDAY1
22-AUG-2201-JAN-2201-AUG-222022384234222AUGUST MONDAY0
23-AUG-2201-JAN-2201-AUG-222022384235233AUGUST TUESDAY0
24-AUG-2201-JAN-2201-AUG-222022384236244AUGUST WEDNESDAY0
25-AUG-2201-JAN-2201-AUG-222022384237255AUGUST THURSDAY0
26-AUG-2201-JAN-2201-AUG-222022384238266AUGUST FRIDAY0
27-AUG-2201-JAN-2201-AUG-222022384239277AUGUST SATURDAY1
28-AUG-2201-JAN-2201-AUG-222022384240281AUGUST SUNDAY1
29-AUG-2201-JAN-2201-AUG-222022385241292AUGUST MONDAY0
30-AUG-2201-JAN-2201-AUG-222022385242303AUGUST TUESDAY0
31-AUG-2201-JAN-2201-AUG-222022385243314AUGUST WEDNESDAY0
01-SEP-2201-JAN-2201-SEP-22202239124415SEPTEMBERTHURSDAY0
02-SEP-2201-JAN-2201-SEP-22202239124526SEPTEMBERFRIDAY0
03-SEP-2201-JAN-2201-SEP-22202239124637SEPTEMBERSATURDAY1
04-SEP-2201-JAN-2201-SEP-22202239124741SEPTEMBERSUNDAY1
05-SEP-2201-JAN-2201-SEP-22202239124852SEPTEMBERMONDAY0
06-SEP-2201-JAN-2201-SEP-22202239124963SEPTEMBERTUESDAY0
07-SEP-2201-JAN-2201-SEP-22202239125074SEPTEMBERWEDNESDAY0
08-SEP-2201-JAN-2201-SEP-22202239225185SEPTEMBERTHURSDAY0
09-SEP-2201-JAN-2201-SEP-22202239225296SEPTEMBERFRIDAY0
10-SEP-2201-JAN-2201-SEP-222022392253107SEPTEMBERSATURDAY1
11-SEP-2201-JAN-2201-SEP-222022392254111SEPTEMBERSUNDAY1
12-SEP-2201-JAN-2201-SEP-222022392255122SEPTEMBERMONDAY0
13-SEP-2201-JAN-2201-SEP-222022392256133SEPTEMBERTUESDAY0
14-SEP-2201-JAN-2201-SEP-222022392257144SEPTEMBERWEDNESDAY0
15-SEP-2201-JAN-2201-SEP-222022393258155SEPTEMBERTHURSDAY0
16-SEP-2201-JAN-2201-SEP-222022393259166SEPTEMBERFRIDAY0
17-SEP-2201-JAN-2201-SEP-222022393260177SEPTEMBERSATURDAY1
18-SEP-2201-JAN-2201-SEP-222022393261181SEPTEMBERSUNDAY1
19-SEP-2201-JAN-2201-SEP-222022393262192SEPTEMBERMONDAY0
20-SEP-2201-JAN-2201-SEP-222022393263203SEPTEMBERTUESDAY0
21-SEP-2201-JAN-2201-SEP-222022393264214SEPTEMBERWEDNESDAY0
22-SEP-2201-JAN-2201-SEP-222022394265225SEPTEMBERTHURSDAY0
23-SEP-2201-JAN-2201-SEP-222022394266236SEPTEMBERFRIDAY0
24-SEP-2201-JAN-2201-SEP-222022394267247SEPTEMBERSATURDAY1
25-SEP-2201-JAN-2201-SEP-222022394268251SEPTEMBERSUNDAY1
26-SEP-2201-JAN-2201-SEP-222022394269262SEPTEMBERMONDAY0
27-SEP-2201-JAN-2201-SEP-222022394270273SEPTEMBERTUESDAY0
28-SEP-2201-JAN-2201-SEP-222022394271284SEPTEMBERWEDNESDAY0
29-SEP-2201-JAN-2201-SEP-222022395272295SEPTEMBERTHURSDAY0
30-SEP-2201-JAN-2201-SEP-222022395273306SEPTEMBERFRIDAY0
01-OCT-2201-JAN-2201-OCT-222022410127417OCTOBER SATURDAY1
02-OCT-2201-JAN-2201-OCT-222022410127521OCTOBER SUNDAY1
03-OCT-2201-JAN-2201-OCT-222022410127632OCTOBER MONDAY0
04-OCT-2201-JAN-2201-OCT-222022410127743OCTOBER TUESDAY0
05-OCT-2201-JAN-2201-OCT-222022410127854OCTOBER WEDNESDAY0
06-OCT-2201-JAN-2201-OCT-222022410127965OCTOBER THURSDAY0
07-OCT-2201-JAN-2201-OCT-222022410128076OCTOBER FRIDAY0
08-OCT-2201-JAN-2201-OCT-222022410228187OCTOBER SATURDAY1
09-OCT-2201-JAN-2201-OCT-222022410228291OCTOBER SUNDAY1
10-OCT-2201-JAN-2201-OCT-2220224102283102OCTOBER MONDAY0
11-OCT-2201-JAN-2201-OCT-2220224102284113OCTOBER TUESDAY0
12-OCT-2201-JAN-2201-OCT-2220224102285124OCTOBER WEDNESDAY0
13-OCT-2201-JAN-2201-OCT-2220224102286135OCTOBER THURSDAY0
14-OCT-2201-JAN-2201-OCT-2220224102287146OCTOBER FRIDAY0
15-OCT-2201-JAN-2201-OCT-2220224103288157OCTOBER SATURDAY1
16-OCT-2201-JAN-2201-OCT-2220224103289161OCTOBER SUNDAY1
17-OCT-2201-JAN-2201-OCT-2220224103290172OCTOBER MONDAY0
18-OCT-2201-JAN-2201-OCT-2220224103291183OCTOBER TUESDAY0
19-OCT-2201-JAN-2201-OCT-2220224103292194OCTOBER WEDNESDAY0
20-OCT-2201-JAN-2201-OCT-2220224103293205OCTOBER THURSDAY0
21-OCT-2201-JAN-2201-OCT-2220224103294216OCTOBER FRIDAY0
22-OCT-2201-JAN-2201-OCT-2220224104295227OCTOBER SATURDAY1
23-OCT-2201-JAN-2201-OCT-2220224104296231OCTOBER SUNDAY1
24-OCT-2201-JAN-2201-OCT-2220224104297242OCTOBER MONDAY0
25-OCT-2201-JAN-2201-OCT-2220224104298253OCTOBER TUESDAY0
26-OCT-2201-JAN-2201-OCT-2220224104299264OCTOBER WEDNESDAY0
27-OCT-2201-JAN-2201-OCT-2220224104300275OCTOBER THURSDAY0
28-OCT-2201-JAN-2201-OCT-2220224104301286OCTOBER FRIDAY0
29-OCT-2201-JAN-2201-OCT-2220224105302297OCTOBER SATURDAY1
30-OCT-2201-JAN-2201-OCT-2220224105303301OCTOBER SUNDAY1
31-OCT-2201-JAN-2201-OCT-2220224105304312OCTOBER MONDAY0
01-NOV-2201-JAN-2201-NOV-222022411130513NOVEMBER TUESDAY0
02-NOV-2201-JAN-2201-NOV-222022411130624NOVEMBER WEDNESDAY0
03-NOV-2201-JAN-2201-NOV-222022411130735NOVEMBER THURSDAY0
04-NOV-2201-JAN-2201-NOV-222022411130846NOVEMBER FRIDAY0
05-NOV-2201-JAN-2201-NOV-222022411130957NOVEMBER SATURDAY1
06-NOV-2201-JAN-2201-NOV-222022411131061NOVEMBER SUNDAY1
07-NOV-2201-JAN-2201-NOV-222022411131172NOVEMBER MONDAY0
08-NOV-2201-JAN-2201-NOV-222022411231283NOVEMBER TUESDAY0
09-NOV-2201-JAN-2201-NOV-222022411231394NOVEMBER WEDNESDAY0
10-NOV-2201-JAN-2201-NOV-2220224112314105NOVEMBER THURSDAY0
11-NOV-2201-JAN-2201-NOV-2220224112315116NOVEMBER FRIDAY0
12-NOV-2201-JAN-2201-NOV-2220224112316127NOVEMBER SATURDAY1
13-NOV-2201-JAN-2201-NOV-2220224112317131NOVEMBER SUNDAY1
14-NOV-2201-JAN-2201-NOV-2220224112318142NOVEMBER MONDAY0
15-NOV-2201-JAN-2201-NOV-2220224113319153NOVEMBER TUESDAY0
16-NOV-2201-JAN-2201-NOV-2220224113320164NOVEMBER WEDNESDAY0
17-NOV-2201-JAN-2201-NOV-2220224113321175NOVEMBER THURSDAY0
18-NOV-2201-JAN-2201-NOV-2220224113322186NOVEMBER FRIDAY0
19-NOV-2201-JAN-2201-NOV-2220224113323197NOVEMBER SATURDAY1
20-NOV-2201-JAN-2201-NOV-2220224113324201NOVEMBER SUNDAY1
21-NOV-2201-JAN-2201-NOV-2220224113325212NOVEMBER MONDAY0
22-NOV-2201-JAN-2201-NOV-2220224114326223NOVEMBER TUESDAY0
23-NOV-2201-JAN-2201-NOV-2220224114327234NOVEMBER WEDNESDAY0
24-NOV-2201-JAN-2201-NOV-2220224114328245NOVEMBER THURSDAY0
25-NOV-2201-JAN-2201-NOV-2220224114329256NOVEMBER FRIDAY0
26-NOV-2201-JAN-2201-NOV-2220224114330267NOVEMBER SATURDAY1
27-NOV-2201-JAN-2201-NOV-2220224114331271NOVEMBER SUNDAY1
28-NOV-2201-JAN-2201-NOV-2220224114332282NOVEMBER MONDAY0
29-NOV-2201-JAN-2201-NOV-2220224115333293NOVEMBER TUESDAY0
30-NOV-2201-JAN-2201-NOV-2220224115334304NOVEMBER WEDNESDAY0
01-DEC-2201-JAN-2201-DEC-222022412133515DECEMBER THURSDAY0
02-DEC-2201-JAN-2201-DEC-222022412133626DECEMBER FRIDAY0
03-DEC-2201-JAN-2201-DEC-222022412133737DECEMBER SATURDAY1
04-DEC-2201-JAN-2201-DEC-222022412133841DECEMBER SUNDAY1
05-DEC-2201-JAN-2201-DEC-222022412133952DECEMBER MONDAY0
06-DEC-2201-JAN-2201-DEC-222022412134063DECEMBER TUESDAY0
07-DEC-2201-JAN-2201-DEC-222022412134174DECEMBER WEDNESDAY0
08-DEC-2201-JAN-2201-DEC-222022412234285DECEMBER THURSDAY0
09-DEC-2201-JAN-2201-DEC-222022412234396DECEMBER FRIDAY0
10-DEC-2201-JAN-2201-DEC-2220224122344107DECEMBER SATURDAY1
11-DEC-2201-JAN-2201-DEC-2220224122345111DECEMBER SUNDAY1
12-DEC-2201-JAN-2201-DEC-2220224122346122DECEMBER MONDAY0
13-DEC-2201-JAN-2201-DEC-2220224122347133DECEMBER TUESDAY0
14-DEC-2201-JAN-2201-DEC-2220224122348144DECEMBER WEDNESDAY0
15-DEC-2201-JAN-2201-DEC-2220224123349155DECEMBER THURSDAY0
16-DEC-2201-JAN-2201-DEC-2220224123350166DECEMBER FRIDAY0
17-DEC-2201-JAN-2201-DEC-2220224123351177DECEMBER SATURDAY1
18-DEC-2201-JAN-2201-DEC-2220224123352181DECEMBER SUNDAY1
19-DEC-2201-JAN-2201-DEC-2220224123353192DECEMBER MONDAY0
20-DEC-2201-JAN-2201-DEC-2220224123354203DECEMBER TUESDAY0
21-DEC-2201-JAN-2201-DEC-2220224123355214DECEMBER WEDNESDAY0
22-DEC-2201-JAN-2201-DEC-2220224124356225DECEMBER THURSDAY0
23-DEC-2201-JAN-2201-DEC-2220224124357236DECEMBER FRIDAY0
24-DEC-2201-JAN-2201-DEC-2220224124358247DECEMBER SATURDAY1
25-DEC-2201-JAN-2201-DEC-2220224124359251DECEMBER SUNDAY1
26-DEC-2201-JAN-2201-DEC-2220224124360262DECEMBER MONDAY0
27-DEC-2201-JAN-2201-DEC-2220224124361273DECEMBER TUESDAY0
28-DEC-2201-JAN-2201-DEC-2220224124362284DECEMBER WEDNESDAY0
29-DEC-2201-JAN-2201-DEC-2220224125363295DECEMBER THURSDAY0
30-DEC-2201-JAN-2201-DEC-2220224125364306DECEMBER FRIDAY0
31-DEC-2201-JAN-2201-DEC-2220224125365317DECEMBER SATURDAY1
01-JAN-2301-JAN-2301-JAN-232023111111JANUARY SUNDAY1
02-JAN-2301-JAN-2301-JAN-232023111222JANUARY MONDAY0
03-JAN-2301-JAN-2301-JAN-232023111333JANUARY TUESDAY0
04-JAN-2301-JAN-2301-JAN-232023111444JANUARY WEDNESDAY0
05-JAN-2301-JAN-2301-JAN-232023111555JANUARY THURSDAY0
06-JAN-2301-JAN-2301-JAN-232023111666JANUARY FRIDAY0
07-JAN-2301-JAN-2301-JAN-232023111777JANUARY SATURDAY1
08-JAN-2301-JAN-2301-JAN-232023112881JANUARY SUNDAY1
09-JAN-2301-JAN-2301-JAN-232023112992JANUARY MONDAY0
10-JAN-2301-JAN-2301-JAN-23202311210103JANUARY TUESDAY0
11-JAN-2301-JAN-2301-JAN-23202311211114JANUARY WEDNESDAY0
12-JAN-2301-JAN-2301-JAN-23202311212125JANUARY THURSDAY0
13-JAN-2301-JAN-2301-JAN-23202311213136JANUARY FRIDAY0
14-JAN-2301-JAN-2301-JAN-23202311214147JANUARY SATURDAY1
15-JAN-2301-JAN-2301-JAN-23202311315151JANUARY SUNDAY1
16-JAN-2301-JAN-2301-JAN-23202311316162JANUARY MONDAY0
17-JAN-2301-JAN-2301-JAN-23202311317173JANUARY TUESDAY0
18-JAN-2301-JAN-2301-JAN-23202311318184JANUARY WEDNESDAY0
19-JAN-2301-JAN-2301-JAN-23202311319195JANUARY THURSDAY0
20-JAN-2301-JAN-2301-JAN-23202311320206JANUARY FRIDAY0
21-JAN-2301-JAN-2301-JAN-23202311321217JANUARY SATURDAY1
22-JAN-2301-JAN-2301-JAN-23202311422221JANUARY SUNDAY1
23-JAN-2301-JAN-2301-JAN-23202311423232JANUARY MONDAY0
24-JAN-2301-JAN-2301-JAN-23202311424243JANUARY TUESDAY0
25-JAN-2301-JAN-2301-JAN-23202311425254JANUARY WEDNESDAY0
26-JAN-2301-JAN-2301-JAN-23202311426265JANUARY THURSDAY0
27-JAN-2301-JAN-2301-JAN-23202311427276JANUARY FRIDAY0
28-JAN-2301-JAN-2301-JAN-23202311428287JANUARY SATURDAY1
29-JAN-2301-JAN-2301-JAN-23202311529291JANUARY SUNDAY1
30-JAN-2301-JAN-2301-JAN-23202311530302JANUARY MONDAY0
31-JAN-2301-JAN-2301-JAN-23202311531313JANUARY TUESDAY0
01-FEB-2301-JAN-2301-FEB-2320231213214FEBRUARY WEDNESDAY0
02-FEB-2301-JAN-2301-FEB-2320231213325FEBRUARY THURSDAY0
03-FEB-2301-JAN-2301-FEB-2320231213436FEBRUARY FRIDAY0
04-FEB-2301-JAN-2301-FEB-2320231213547FEBRUARY SATURDAY1
05-FEB-2301-JAN-2301-FEB-2320231213651FEBRUARY SUNDAY1
06-FEB-2301-JAN-2301-FEB-2320231213762FEBRUARY MONDAY0
07-FEB-2301-JAN-2301-FEB-2320231213873FEBRUARY TUESDAY0
08-FEB-2301-JAN-2301-FEB-2320231223984FEBRUARY WEDNESDAY0
09-FEB-2301-JAN-2301-FEB-2320231224095FEBRUARY THURSDAY0
10-FEB-2301-JAN-2301-FEB-23202312241106FEBRUARY FRIDAY0
11-FEB-2301-JAN-2301-FEB-23202312242117FEBRUARY SATURDAY1
12-FEB-2301-JAN-2301-FEB-23202312243121FEBRUARY SUNDAY1
13-FEB-2301-JAN-2301-FEB-23202312244132FEBRUARY MONDAY0
14-FEB-2301-JAN-2301-FEB-23202312245143FEBRUARY TUESDAY0
15-FEB-2301-JAN-2301-FEB-23202312346154FEBRUARY WEDNESDAY0
16-FEB-2301-JAN-2301-FEB-23202312347165FEBRUARY THURSDAY0
17-FEB-2301-JAN-2301-FEB-23202312348176FEBRUARY FRIDAY0
18-FEB-2301-JAN-2301-FEB-23202312349187FEBRUARY SATURDAY1
19-FEB-2301-JAN-2301-FEB-23202312350191FEBRUARY SUNDAY1
20-FEB-2301-JAN-2301-FEB-23202312351202FEBRUARY MONDAY0
21-FEB-2301-JAN-2301-FEB-23202312352213FEBRUARY TUESDAY0
22-FEB-2301-JAN-2301-FEB-23202312453224FEBRUARY WEDNESDAY0
23-FEB-2301-JAN-2301-FEB-23202312454235FEBRUARY THURSDAY0
24-FEB-2301-JAN-2301-FEB-23202312455246FEBRUARY FRIDAY0
25-FEB-2301-JAN-2301-FEB-23202312456257FEBRUARY SATURDAY1
26-FEB-2301-JAN-2301-FEB-23202312457261FEBRUARY SUNDAY1
27-FEB-2301-JAN-2301-FEB-23202312458272FEBRUARY MONDAY0
28-FEB-2301-JAN-2301-FEB-23202312459283FEBRUARY TUESDAY0
01-MAR-2301-JAN-2301-MAR-2320231316014MARCH WEDNESDAY0
02-MAR-2301-JAN-2301-MAR-2320231316125MARCH THURSDAY0
03-MAR-2301-JAN-2301-MAR-2320231316236MARCH FRIDAY0
04-MAR-2301-JAN-2301-MAR-2320231316347MARCH SATURDAY1
05-MAR-2301-JAN-2301-MAR-2320231316451MARCH SUNDAY1
06-MAR-2301-JAN-2301-MAR-2320231316562MARCH MONDAY0
07-MAR-2301-JAN-2301-MAR-2320231316673MARCH TUESDAY0
08-MAR-2301-JAN-2301-MAR-2320231326784MARCH WEDNESDAY0
09-MAR-2301-JAN-2301-MAR-2320231326895MARCH THURSDAY0
10-MAR-2301-JAN-2301-MAR-23202313269106MARCH FRIDAY0
11-MAR-2301-JAN-2301-MAR-23202313270117MARCH SATURDAY1
12-MAR-2301-JAN-2301-MAR-23202313271121MARCH SUNDAY1
13-MAR-2301-JAN-2301-MAR-23202313272132MARCH MONDAY0
14-MAR-2301-JAN-2301-MAR-23202313273143MARCH TUESDAY0
15-MAR-2301-JAN-2301-MAR-23202313374154MARCH WEDNESDAY0
16-MAR-2301-JAN-2301-MAR-23202313375165MARCH THURSDAY0
17-MAR-2301-JAN-2301-MAR-23202313376176MARCH FRIDAY0
18-MAR-2301-JAN-2301-MAR-23202313377187MARCH SATURDAY1
19-MAR-2301-JAN-2301-MAR-23202313378191MARCH SUNDAY1
20-MAR-2301-JAN-2301-MAR-23202313379202MARCH MONDAY0
21-MAR-2301-JAN-2301-MAR-23202313380213MARCH TUESDAY0
22-MAR-2301-JAN-2301-MAR-23202313481224MARCH WEDNESDAY0
23-MAR-2301-JAN-2301-MAR-23202313482235MARCH THURSDAY0
24-MAR-2301-JAN-2301-MAR-23202313483246MARCH FRIDAY0
25-MAR-2301-JAN-2301-MAR-23202313484257MARCH SATURDAY1
26-MAR-2301-JAN-2301-MAR-23202313485261MARCH SUNDAY1
27-MAR-2301-JAN-2301-MAR-23202313486272MARCH MONDAY0
28-MAR-2301-JAN-2301-MAR-23202313487283MARCH TUESDAY0
29-MAR-2301-JAN-2301-MAR-23202313588294MARCH WEDNESDAY0
30-MAR-2301-JAN-2301-MAR-23202313589305MARCH THURSDAY0
31-MAR-2301-JAN-2301-MAR-23202313590316MARCH FRIDAY0
01-APR-2301-JAN-2301-APR-2320232419117APRIL SATURDAY1
02-APR-2301-JAN-2301-APR-2320232419221APRIL SUNDAY1
03-APR-2301-JAN-2301-APR-2320232419332APRIL MONDAY0
04-APR-2301-JAN-2301-APR-2320232419443APRIL TUESDAY0
05-APR-2301-JAN-2301-APR-2320232419554APRIL WEDNESDAY0
06-APR-2301-JAN-2301-APR-2320232419665APRIL THURSDAY0
07-APR-2301-JAN-2301-APR-2320232419776APRIL FRIDAY0
08-APR-2301-JAN-2301-APR-2320232429887APRIL SATURDAY1
09-APR-2301-JAN-2301-APR-2320232429991APRIL SUNDAY1
10-APR-2301-JAN-2301-APR-232023242100102APRIL MONDAY0
11-APR-2301-JAN-2301-APR-232023242101113APRIL TUESDAY0
12-APR-2301-JAN-2301-APR-232023242102124APRIL WEDNESDAY0
13-APR-2301-JAN-2301-APR-232023242103135APRIL THURSDAY0
14-APR-2301-JAN-2301-APR-232023242104146APRIL FRIDAY0
15-APR-2301-JAN-2301-APR-232023243105157APRIL SATURDAY1
16-APR-2301-JAN-2301-APR-232023243106161APRIL SUNDAY1
17-APR-2301-JAN-2301-APR-232023243107172APRIL MONDAY0
18-APR-2301-JAN-2301-APR-232023243108183APRIL TUESDAY0
19-APR-2301-JAN-2301-APR-232023243109194APRIL WEDNESDAY0
20-APR-2301-JAN-2301-APR-232023243110205APRIL THURSDAY0
21-APR-2301-JAN-2301-APR-232023243111216APRIL FRIDAY0
22-APR-2301-JAN-2301-APR-232023244112227APRIL SATURDAY1
23-APR-2301-JAN-2301-APR-232023244113231APRIL SUNDAY1
24-APR-2301-JAN-2301-APR-232023244114242APRIL MONDAY0
25-APR-2301-JAN-2301-APR-232023244115253APRIL TUESDAY0
26-APR-2301-JAN-2301-APR-232023244116264APRIL WEDNESDAY0
27-APR-2301-JAN-2301-APR-232023244117275APRIL THURSDAY0
28-APR-2301-JAN-2301-APR-232023244118286APRIL FRIDAY0
29-APR-2301-JAN-2301-APR-232023245119297APRIL SATURDAY1
30-APR-2301-JAN-2301-APR-232023245120301APRIL SUNDAY1
01-MAY-2301-JAN-2301-MAY-23202325112112MAY MONDAY0
02-MAY-2301-JAN-2301-MAY-23202325112223MAY TUESDAY0
03-MAY-2301-JAN-2301-MAY-23202325112334MAY WEDNESDAY0
04-MAY-2301-JAN-2301-MAY-23202325112445MAY THURSDAY0
05-MAY-2301-JAN-2301-MAY-23202325112556MAY FRIDAY0
06-MAY-2301-JAN-2301-MAY-23202325112667MAY SATURDAY1
07-MAY-2301-JAN-2301-MAY-23202325112771MAY SUNDAY1
08-MAY-2301-JAN-2301-MAY-23202325212882MAY MONDAY0
09-MAY-2301-JAN-2301-MAY-23202325212993MAY TUESDAY0
10-MAY-2301-JAN-2301-MAY-232023252130104MAY WEDNESDAY0
11-MAY-2301-JAN-2301-MAY-232023252131115MAY THURSDAY0
12-MAY-2301-JAN-2301-MAY-232023252132126MAY FRIDAY0
13-MAY-2301-JAN-2301-MAY-232023252133137MAY SATURDAY1
14-MAY-2301-JAN-2301-MAY-232023252134141MAY SUNDAY1
15-MAY-2301-JAN-2301-MAY-232023253135152MAY MONDAY0
16-MAY-2301-JAN-2301-MAY-232023253136163MAY TUESDAY0
17-MAY-2301-JAN-2301-MAY-232023253137174MAY WEDNESDAY0
18-MAY-2301-JAN-2301-MAY-232023253138185MAY THURSDAY0
19-MAY-2301-JAN-2301-MAY-232023253139196MAY FRIDAY0
20-MAY-2301-JAN-2301-MAY-232023253140207MAY SATURDAY1
21-MAY-2301-JAN-2301-MAY-232023253141211MAY SUNDAY1
22-MAY-2301-JAN-2301-MAY-232023254142222MAY MONDAY0
23-MAY-2301-JAN-2301-MAY-232023254143233MAY TUESDAY0
24-MAY-2301-JAN-2301-MAY-232023254144244MAY WEDNESDAY0
25-MAY-2301-JAN-2301-MAY-232023254145255MAY THURSDAY0
26-MAY-2301-JAN-2301-MAY-232023254146266MAY FRIDAY0
27-MAY-2301-JAN-2301-MAY-232023254147277MAY SATURDAY1
28-MAY-2301-JAN-2301-MAY-232023254148281MAY SUNDAY1
29-MAY-2301-JAN-2301-MAY-232023255149292MAY MONDAY0
30-MAY-2301-JAN-2301-MAY-232023255150303MAY TUESDAY0
31-MAY-2301-JAN-2301-MAY-232023255151314MAY WEDNESDAY0
01-JUN-2301-JAN-2301-JUN-23202326115215JUNE THURSDAY0
02-JUN-2301-JAN-2301-JUN-23202326115326JUNE FRIDAY0
03-JUN-2301-JAN-2301-JUN-23202326115437JUNE SATURDAY1
04-JUN-2301-JAN-2301-JUN-23202326115541JUNE SUNDAY1
05-JUN-2301-JAN-2301-JUN-23202326115652JUNE MONDAY0
06-JUN-2301-JAN-2301-JUN-23202326115763JUNE TUESDAY0
07-JUN-2301-JAN-2301-JUN-23202326115874JUNE WEDNESDAY0
08-JUN-2301-JAN-2301-JUN-23202326215985JUNE THURSDAY0
09-JUN-2301-JAN-2301-JUN-23202326216096JUNE FRIDAY0
10-JUN-2301-JAN-2301-JUN-232023262161107JUNE SATURDAY1
11-JUN-2301-JAN-2301-JUN-232023262162111JUNE SUNDAY1
12-JUN-2301-JAN-2301-JUN-232023262163122JUNE MONDAY0
13-JUN-2301-JAN-2301-JUN-232023262164133JUNE TUESDAY0
14-JUN-2301-JAN-2301-JUN-232023262165144JUNE WEDNESDAY0
15-JUN-2301-JAN-2301-JUN-232023263166155JUNE THURSDAY0
16-JUN-2301-JAN-2301-JUN-232023263167166JUNE FRIDAY0
17-JUN-2301-JAN-2301-JUN-232023263168177JUNE SATURDAY1
18-JUN-2301-JAN-2301-JUN-232023263169181JUNE SUNDAY1
19-JUN-2301-JAN-2301-JUN-232023263170192JUNE MONDAY0
20-JUN-2301-JAN-2301-JUN-232023263171203JUNE TUESDAY0
21-JUN-2301-JAN-2301-JUN-232023263172214JUNE WEDNESDAY0
22-JUN-2301-JAN-2301-JUN-232023264173225JUNE THURSDAY0
23-JUN-2301-JAN-2301-JUN-232023264174236JUNE FRIDAY0
24-JUN-2301-JAN-2301-JUN-232023264175247JUNE SATURDAY1
25-JUN-2301-JAN-2301-JUN-232023264176251JUNE SUNDAY1
26-JUN-2301-JAN-2301-JUN-232023264177262JUNE MONDAY0
27-JUN-2301-JAN-2301-JUN-232023264178273JUNE TUESDAY0
28-JUN-2301-JAN-2301-JUN-232023264179284JUNE WEDNESDAY0
29-JUN-2301-JAN-2301-JUN-232023265180295JUNE THURSDAY0
30-JUN-2301-JAN-2301-JUN-232023265181306JUNE FRIDAY0
01-JUL-2301-JAN-2301-JUL-23202337118217JULY SATURDAY1
02-JUL-2301-JAN-2301-JUL-23202337118321JULY SUNDAY1
03-JUL-2301-JAN-2301-JUL-23202337118432JULY MONDAY0
04-JUL-2301-JAN-2301-JUL-23202337118543JULY TUESDAY0
05-JUL-2301-JAN-2301-JUL-23202337118654JULY WEDNESDAY0
06-JUL-2301-JAN-2301-JUL-23202337118765JULY THURSDAY0
07-JUL-2301-JAN-2301-JUL-23202337118876JULY FRIDAY0
08-JUL-2301-JAN-2301-JUL-23202337218987JULY SATURDAY1
09-JUL-2301-JAN-2301-JUL-23202337219091JULY SUNDAY1
10-JUL-2301-JAN-2301-JUL-232023372191102JULY MONDAY0
11-JUL-2301-JAN-2301-JUL-232023372192113JULY TUESDAY0
12-JUL-2301-JAN-2301-JUL-232023372193124JULY WEDNESDAY0
13-JUL-2301-JAN-2301-JUL-232023372194135JULY THURSDAY0
14-JUL-2301-JAN-2301-JUL-232023372195146JULY FRIDAY0
15-JUL-2301-JAN-2301-JUL-232023373196157JULY SATURDAY1
16-JUL-2301-JAN-2301-JUL-232023373197161JULY SUNDAY1
17-JUL-2301-JAN-2301-JUL-232023373198172JULY MONDAY0
18-JUL-2301-JAN-2301-JUL-232023373199183JULY TUESDAY0
19-JUL-2301-JAN-2301-JUL-232023373200194JULY WEDNESDAY0
20-JUL-2301-JAN-2301-JUL-232023373201205JULY THURSDAY0
21-JUL-2301-JAN-2301-JUL-232023373202216JULY FRIDAY0
22-JUL-2301-JAN-2301-JUL-232023374203227JULY SATURDAY1
23-JUL-2301-JAN-2301-JUL-232023374204231JULY SUNDAY1
24-JUL-2301-JAN-2301-JUL-232023374205242JULY MONDAY0
25-JUL-2301-JAN-2301-JUL-232023374206253JULY TUESDAY0
26-JUL-2301-JAN-2301-JUL-232023374207264JULY WEDNESDAY0
27-JUL-2301-JAN-2301-JUL-232023374208275JULY THURSDAY0
28-JUL-2301-JAN-2301-JUL-232023374209286JULY FRIDAY0
29-JUL-2301-JAN-2301-JUL-232023375210297JULY SATURDAY1
30-JUL-2301-JAN-2301-JUL-232023375211301JULY SUNDAY1
31-JUL-2301-JAN-2301-JUL-232023375212312JULY MONDAY0
01-AUG-2301-JAN-2301-AUG-23202338121313AUGUST TUESDAY0
02-AUG-2301-JAN-2301-AUG-23202338121424AUGUST WEDNESDAY0
03-AUG-2301-JAN-2301-AUG-23202338121535AUGUST THURSDAY0
04-AUG-2301-JAN-2301-AUG-23202338121646AUGUST FRIDAY0
05-AUG-2301-JAN-2301-AUG-23202338121757AUGUST SATURDAY1
06-AUG-2301-JAN-2301-AUG-23202338121861AUGUST SUNDAY1
07-AUG-2301-JAN-2301-AUG-23202338121972AUGUST MONDAY0
08-AUG-2301-JAN-2301-AUG-23202338222083AUGUST TUESDAY0
09-AUG-2301-JAN-2301-AUG-23202338222194AUGUST WEDNESDAY0
10-AUG-2301-JAN-2301-AUG-232023382222105AUGUST THURSDAY0
11-AUG-2301-JAN-2301-AUG-232023382223116AUGUST FRIDAY0
12-AUG-2301-JAN-2301-AUG-232023382224127AUGUST SATURDAY1
13-AUG-2301-JAN-2301-AUG-232023382225131AUGUST SUNDAY1
14-AUG-2301-JAN-2301-AUG-232023382226142AUGUST MONDAY0
15-AUG-2301-JAN-2301-AUG-232023383227153AUGUST TUESDAY0
16-AUG-2301-JAN-2301-AUG-232023383228164AUGUST WEDNESDAY0
17-AUG-2301-JAN-2301-AUG-232023383229175AUGUST THURSDAY0
18-AUG-2301-JAN-2301-AUG-232023383230186AUGUST FRIDAY0
19-AUG-2301-JAN-2301-AUG-232023383231197AUGUST SATURDAY1
20-AUG-2301-JAN-2301-AUG-232023383232201AUGUST SUNDAY1
21-AUG-2301-JAN-2301-AUG-232023383233212AUGUST MONDAY0
22-AUG-2301-JAN-2301-AUG-232023384234223AUGUST TUESDAY0
23-AUG-2301-JAN-2301-AUG-232023384235234AUGUST WEDNESDAY0
24-AUG-2301-JAN-2301-AUG-232023384236245AUGUST THURSDAY0
25-AUG-2301-JAN-2301-AUG-232023384237256AUGUST FRIDAY0
26-AUG-2301-JAN-2301-AUG-232023384238267AUGUST SATURDAY1
27-AUG-2301-JAN-2301-AUG-232023384239271AUGUST SUNDAY1
28-AUG-2301-JAN-2301-AUG-232023384240282AUGUST MONDAY0
29-AUG-2301-JAN-2301-AUG-232023385241293AUGUST TUESDAY0
30-AUG-2301-JAN-2301-AUG-232023385242304AUGUST WEDNESDAY0
31-AUG-2301-JAN-2301-AUG-232023385243315AUGUST THURSDAY0
01-SEP-2301-JAN-2301-SEP-23202339124416SEPTEMBERFRIDAY0
02-SEP-2301-JAN-2301-SEP-23202339124527SEPTEMBERSATURDAY1
03-SEP-2301-JAN-2301-SEP-23202339124631SEPTEMBERSUNDAY1
04-SEP-2301-JAN-2301-SEP-23202339124742SEPTEMBERMONDAY0
05-SEP-2301-JAN-2301-SEP-23202339124853SEPTEMBERTUESDAY0
06-SEP-2301-JAN-2301-SEP-23202339124964SEPTEMBERWEDNESDAY0
07-SEP-2301-JAN-2301-SEP-23202339125075SEPTEMBERTHURSDAY0
08-SEP-2301-JAN-2301-SEP-23202339225186SEPTEMBERFRIDAY0
09-SEP-2301-JAN-2301-SEP-23202339225297SEPTEMBERSATURDAY1
10-SEP-2301-JAN-2301-SEP-232023392253101SEPTEMBERSUNDAY1
11-SEP-2301-JAN-2301-SEP-232023392254112SEPTEMBERMONDAY0
12-SEP-2301-JAN-2301-SEP-232023392255123SEPTEMBERTUESDAY0
13-SEP-2301-JAN-2301-SEP-232023392256134SEPTEMBERWEDNESDAY0
14-SEP-2301-JAN-2301-SEP-232023392257145SEPTEMBERTHURSDAY0
15-SEP-2301-JAN-2301-SEP-232023393258156SEPTEMBERFRIDAY0
16-SEP-2301-JAN-2301-SEP-232023393259167SEPTEMBERSATURDAY1
17-SEP-2301-JAN-2301-SEP-232023393260171SEPTEMBERSUNDAY1
18-SEP-2301-JAN-2301-SEP-232023393261182SEPTEMBERMONDAY0
19-SEP-2301-JAN-2301-SEP-232023393262193SEPTEMBERTUESDAY0
20-SEP-2301-JAN-2301-SEP-232023393263204SEPTEMBERWEDNESDAY0
21-SEP-2301-JAN-2301-SEP-232023393264215SEPTEMBERTHURSDAY0
22-SEP-2301-JAN-2301-SEP-232023394265226SEPTEMBERFRIDAY0
23-SEP-2301-JAN-2301-SEP-232023394266237SEPTEMBERSATURDAY1
24-SEP-2301-JAN-2301-SEP-232023394267241SEPTEMBERSUNDAY1
25-SEP-2301-JAN-2301-SEP-232023394268252SEPTEMBERMONDAY0
26-SEP-2301-JAN-2301-SEP-232023394269263SEPTEMBERTUESDAY0
27-SEP-2301-JAN-2301-SEP-232023394270274SEPTEMBERWEDNESDAY0
28-SEP-2301-JAN-2301-SEP-232023394271285SEPTEMBERTHURSDAY0
29-SEP-2301-JAN-2301-SEP-232023395272296SEPTEMBERFRIDAY0
30-SEP-2301-JAN-2301-SEP-232023395273307SEPTEMBERSATURDAY1
01-OCT-2301-JAN-2301-OCT-232023410127411OCTOBER SUNDAY1
02-OCT-2301-JAN-2301-OCT-232023410127522OCTOBER MONDAY0
03-OCT-2301-JAN-2301-OCT-232023410127633OCTOBER TUESDAY0
04-OCT-2301-JAN-2301-OCT-232023410127744OCTOBER WEDNESDAY0
05-OCT-2301-JAN-2301-OCT-232023410127855OCTOBER THURSDAY0
06-OCT-2301-JAN-2301-OCT-232023410127966OCTOBER FRIDAY0
07-OCT-2301-JAN-2301-OCT-232023410128077OCTOBER SATURDAY1
08-OCT-2301-JAN-2301-OCT-232023410228181OCTOBER SUNDAY1
09-OCT-2301-JAN-2301-OCT-232023410228292OCTOBER MONDAY0
10-OCT-2301-JAN-2301-OCT-2320234102283103OCTOBER TUESDAY0
11-OCT-2301-JAN-2301-OCT-2320234102284114OCTOBER WEDNESDAY0
12-OCT-2301-JAN-2301-OCT-2320234102285125OCTOBER THURSDAY0
13-OCT-2301-JAN-2301-OCT-2320234102286136OCTOBER FRIDAY0
14-OCT-2301-JAN-2301-OCT-2320234102287147OCTOBER SATURDAY1
15-OCT-2301-JAN-2301-OCT-2320234103288151OCTOBER SUNDAY1
16-OCT-2301-JAN-2301-OCT-2320234103289162OCTOBER MONDAY0
17-OCT-2301-JAN-2301-OCT-2320234103290173OCTOBER TUESDAY0
18-OCT-2301-JAN-2301-OCT-2320234103291184OCTOBER WEDNESDAY0
19-OCT-2301-JAN-2301-OCT-2320234103292195OCTOBER THURSDAY0
20-OCT-2301-JAN-2301-OCT-2320234103293206OCTOBER FRIDAY0
21-OCT-2301-JAN-2301-OCT-2320234103294217OCTOBER SATURDAY1
22-OCT-2301-JAN-2301-OCT-2320234104295221OCTOBER SUNDAY1
23-OCT-2301-JAN-2301-OCT-2320234104296232OCTOBER MONDAY0
24-OCT-2301-JAN-2301-OCT-2320234104297243OCTOBER TUESDAY0
25-OCT-2301-JAN-2301-OCT-2320234104298254OCTOBER WEDNESDAY0
26-OCT-2301-JAN-2301-OCT-2320234104299265OCTOBER THURSDAY0
27-OCT-2301-JAN-2301-OCT-2320234104300276OCTOBER FRIDAY0
28-OCT-2301-JAN-2301-OCT-2320234104301287OCTOBER SATURDAY1
29-OCT-2301-JAN-2301-OCT-2320234105302291OCTOBER SUNDAY1
30-OCT-2301-JAN-2301-OCT-2320234105303302OCTOBER MONDAY0
31-OCT-2301-JAN-2301-OCT-2320234105304313OCTOBER TUESDAY0
01-NOV-2301-JAN-2301-NOV-232023411130514NOVEMBER WEDNESDAY0
02-NOV-2301-JAN-2301-NOV-232023411130625NOVEMBER THURSDAY0
03-NOV-2301-JAN-2301-NOV-232023411130736NOVEMBER FRIDAY0
04-NOV-2301-JAN-2301-NOV-232023411130847NOVEMBER SATURDAY1
05-NOV-2301-JAN-2301-NOV-232023411130951NOVEMBER SUNDAY1
06-NOV-2301-JAN-2301-NOV-232023411131062NOVEMBER MONDAY0
07-NOV-2301-JAN-2301-NOV-232023411131173NOVEMBER TUESDAY0
08-NOV-2301-JAN-2301-NOV-232023411231284NOVEMBER WEDNESDAY0
09-NOV-2301-JAN-2301-NOV-232023411231395NOVEMBER THURSDAY0
10-NOV-2301-JAN-2301-NOV-2320234112314106NOVEMBER FRIDAY0
11-NOV-2301-JAN-2301-NOV-2320234112315117NOVEMBER SATURDAY1
12-NOV-2301-JAN-2301-NOV-2320234112316121NOVEMBER SUNDAY1
13-NOV-2301-JAN-2301-NOV-2320234112317132NOVEMBER MONDAY0
14-NOV-2301-JAN-2301-NOV-2320234112318143NOVEMBER TUESDAY0
15-NOV-2301-JAN-2301-NOV-2320234113319154NOVEMBER WEDNESDAY0
16-NOV-2301-JAN-2301-NOV-2320234113320165NOVEMBER THURSDAY0
17-NOV-2301-JAN-2301-NOV-2320234113321176NOVEMBER FRIDAY0
18-NOV-2301-JAN-2301-NOV-2320234113322187NOVEMBER SATURDAY1
19-NOV-2301-JAN-2301-NOV-2320234113323191NOVEMBER SUNDAY1
20-NOV-2301-JAN-2301-NOV-2320234113324202NOVEMBER MONDAY0
21-NOV-2301-JAN-2301-NOV-2320234113325213NOVEMBER TUESDAY0
22-NOV-2301-JAN-2301-NOV-2320234114326224NOVEMBER WEDNESDAY0
23-NOV-2301-JAN-2301-NOV-2320234114327235NOVEMBER THURSDAY0
24-NOV-2301-JAN-2301-NOV-2320234114328246NOVEMBER FRIDAY0
25-NOV-2301-JAN-2301-NOV-2320234114329257NOVEMBER SATURDAY1
26-NOV-2301-JAN-2301-NOV-2320234114330261NOVEMBER SUNDAY1
27-NOV-2301-JAN-2301-NOV-2320234114331272NOVEMBER MONDAY0
28-NOV-2301-JAN-2301-NOV-2320234114332283NOVEMBER TUESDAY0
29-NOV-2301-JAN-2301-NOV-2320234115333294NOVEMBER WEDNESDAY0
30-NOV-2301-JAN-2301-NOV-2320234115334305NOVEMBER THURSDAY0
01-DEC-2301-JAN-2301-DEC-232023412133516DECEMBER FRIDAY0
02-DEC-2301-JAN-2301-DEC-232023412133627DECEMBER SATURDAY1
03-DEC-2301-JAN-2301-DEC-232023412133731DECEMBER SUNDAY1
04-DEC-2301-JAN-2301-DEC-232023412133842DECEMBER MONDAY0
05-DEC-2301-JAN-2301-DEC-232023412133953DECEMBER TUESDAY0
06-DEC-2301-JAN-2301-DEC-232023412134064DECEMBER WEDNESDAY0
07-DEC-2301-JAN-2301-DEC-232023412134175DECEMBER THURSDAY0
08-DEC-2301-JAN-2301-DEC-232023412234286DECEMBER FRIDAY0
09-DEC-2301-JAN-2301-DEC-232023412234397DECEMBER SATURDAY1
10-DEC-2301-JAN-2301-DEC-2320234122344101DECEMBER SUNDAY1
11-DEC-2301-JAN-2301-DEC-2320234122345112DECEMBER MONDAY0
12-DEC-2301-JAN-2301-DEC-2320234122346123DECEMBER TUESDAY0
13-DEC-2301-JAN-2301-DEC-2320234122347134DECEMBER WEDNESDAY0
14-DEC-2301-JAN-2301-DEC-2320234122348145DECEMBER THURSDAY0
15-DEC-2301-JAN-2301-DEC-2320234123349156DECEMBER FRIDAY0
16-DEC-2301-JAN-2301-DEC-2320234123350167DECEMBER SATURDAY1
17-DEC-2301-JAN-2301-DEC-2320234123351171DECEMBER SUNDAY1
18-DEC-2301-JAN-2301-DEC-2320234123352182DECEMBER MONDAY0
19-DEC-2301-JAN-2301-DEC-2320234123353193DECEMBER TUESDAY0
20-DEC-2301-JAN-2301-DEC-2320234123354204DECEMBER WEDNESDAY0
21-DEC-2301-JAN-2301-DEC-2320234123355215DECEMBER THURSDAY0
22-DEC-2301-JAN-2301-DEC-2320234124356226DECEMBER FRIDAY0
23-DEC-2301-JAN-2301-DEC-2320234124357237DECEMBER SATURDAY1
24-DEC-2301-JAN-2301-DEC-2320234124358241DECEMBER SUNDAY1
25-DEC-2301-JAN-2301-DEC-2320234124359252DECEMBER MONDAY0
26-DEC-2301-JAN-2301-DEC-2320234124360263DECEMBER TUESDAY0
27-DEC-2301-JAN-2301-DEC-2320234124361274DECEMBER WEDNESDAY0
28-DEC-2301-JAN-2301-DEC-2320234124362285DECEMBER THURSDAY0
29-DEC-2301-JAN-2301-DEC-2320234125363296DECEMBER FRIDAY0
30-DEC-2301-JAN-2301-DEC-2320234125364307DECEMBER SATURDAY1
31-DEC-2301-JAN-2301-DEC-2320234125365311DECEMBER SUNDAY1
01-JAN-2401-JAN-2401-JAN-242024111112JANUARY MONDAY0
02-JAN-2401-JAN-2401-JAN-242024111223JANUARY TUESDAY0
03-JAN-2401-JAN-2401-JAN-242024111334JANUARY WEDNESDAY0
04-JAN-2401-JAN-2401-JAN-242024111445JANUARY THURSDAY0
05-JAN-2401-JAN-2401-JAN-242024111556JANUARY FRIDAY0
06-JAN-2401-JAN-2401-JAN-242024111667JANUARY SATURDAY1
07-JAN-2401-JAN-2401-JAN-242024111771JANUARY SUNDAY1
08-JAN-2401-JAN-2401-JAN-242024112882JANUARY MONDAY0
09-JAN-2401-JAN-2401-JAN-242024112993JANUARY TUESDAY0
10-JAN-2401-JAN-2401-JAN-24202411210104JANUARY WEDNESDAY0
11-JAN-2401-JAN-2401-JAN-24202411211115JANUARY THURSDAY0
12-JAN-2401-JAN-2401-JAN-24202411212126JANUARY FRIDAY0
13-JAN-2401-JAN-2401-JAN-24202411213137JANUARY SATURDAY1
14-JAN-2401-JAN-2401-JAN-24202411214141JANUARY SUNDAY1
15-JAN-2401-JAN-2401-JAN-24202411315152JANUARY MONDAY0
16-JAN-2401-JAN-2401-JAN-24202411316163JANUARY TUESDAY0
17-JAN-2401-JAN-2401-JAN-24202411317174JANUARY WEDNESDAY0
18-JAN-2401-JAN-2401-JAN-24202411318185JANUARY THURSDAY0
19-JAN-2401-JAN-2401-JAN-24202411319196JANUARY FRIDAY0
20-JAN-2401-JAN-2401-JAN-24202411320207JANUARY SATURDAY1
21-JAN-2401-JAN-2401-JAN-24202411321211JANUARY SUNDAY1
22-JAN-2401-JAN-2401-JAN-24202411422222JANUARY MONDAY0
23-JAN-2401-JAN-2401-JAN-24202411423233JANUARY TUESDAY0
24-JAN-2401-JAN-2401-JAN-24202411424244JANUARY WEDNESDAY0
25-JAN-2401-JAN-2401-JAN-24202411425255JANUARY THURSDAY0
26-JAN-2401-JAN-2401-JAN-24202411426266JANUARY FRIDAY0
27-JAN-2401-JAN-2401-JAN-24202411427277JANUARY SATURDAY1
28-JAN-2401-JAN-2401-JAN-24202411428281JANUARY SUNDAY1
29-JAN-2401-JAN-2401-JAN-24202411529292JANUARY MONDAY0
30-JAN-2401-JAN-2401-JAN-24202411530303JANUARY TUESDAY0
31-JAN-2401-JAN-2401-JAN-24202411531314JANUARY WEDNESDAY0
01-FEB-2401-JAN-2401-FEB-2420241213215FEBRUARY THURSDAY0
02-FEB-2401-JAN-2401-FEB-2420241213326FEBRUARY FRIDAY0
03-FEB-2401-JAN-2401-FEB-2420241213437FEBRUARY SATURDAY1
04-FEB-2401-JAN-2401-FEB-2420241213541FEBRUARY SUNDAY1
05-FEB-2401-JAN-2401-FEB-2420241213652FEBRUARY MONDAY0
06-FEB-2401-JAN-2401-FEB-2420241213763FEBRUARY TUESDAY0
07-FEB-2401-JAN-2401-FEB-2420241213874FEBRUARY WEDNESDAY0
08-FEB-2401-JAN-2401-FEB-2420241223985FEBRUARY THURSDAY0
09-FEB-2401-JAN-2401-FEB-2420241224096FEBRUARY FRIDAY0
10-FEB-2401-JAN-2401-FEB-24202412241107FEBRUARY SATURDAY1
11-FEB-2401-JAN-2401-FEB-24202412242111FEBRUARY SUNDAY1
12-FEB-2401-JAN-2401-FEB-24202412243122FEBRUARY MONDAY0

The final drawback can be addressed by working with database administrators and engineers to have a calendar table created for reporting purposes. Of course, this table needs to exist within a schema accessible to you. If your team is invested in the popular data visualization tool, Tableau, and Tableau Server, then there exists an alternative solution.

By placing the code above used to generate the calendar data into a Tableau Prep Flow or within Tableau Desktop, you can publish the output of the query to your Tableau Server as a published data source. The published data source acts like a table and can be used by other server users within your team and wider organization. An additional benefit gained by doing so is each user is using the same calendar data. A single version of the truth captured within a single published data source. You may or may not be surprised by how quickly a Tableau Server can be overrun with many different versions of the same thing. The diagram below shows the ideal situation where all downstream flows, resulting published data sources, and workbooks are sourcing from a single published data source for calendar data.

Database-less Solution
If you find yourself in a rare situation where you have you access to Tableau Desktop and Tableau Prep, with or without Tableau Server, and would like to generate a data source containing calendar data similar to that shown in this post, then check out my YouTube video below. In this video, I show how you can use Tableau Prep to create a calendar table based on hardcoded, user-specified date range values. Additionally, I demonstrate how to create a parameterized Tableau Prep Flow, allowing you to dynamically expand and contract the date range captured within the data source produced by the flow. Neither of the solutions require a database to generate a data source populated with calendar data.

Thanks for reading my first blog post on SQL Short Reads. I hope you have learned a thing or two and find yourself able to incorporate the concepts I have covered when solving your own problems.