⚙️ Settings
WITH recent_orders AS (
SELECT
customer_id,
order_id,
order_date,
total_amount
FROM orders
WHERE order_date >= DATEADD(day, -30, GETDATE())
)
SELECT
customer_id,
COUNT(order_id) AS order_count,
SUM(total_amount) AS total_spent
FROM recent_orders
GROUP BY customer_id
ORDER BY total_spent DESC;
WITH RECURSIVE employee_hierarchy AS (
-- Anchor: top-level rows (no manager)
SELECT
employee_id,
manager_id,
employee_name,
1 AS level
FROM employees
WHERE manager_id IS NULL
UNION ALL
-- Recursive: join children to their parent's result
SELECT
e.employee_id,
e.manager_id,
e.employee_name,
eh.level + 1
FROM employees e
INNER JOIN employee_hierarchy eh
ON e.manager_id = eh.employee_id
)
SELECT *
FROM employee_hierarchy
ORDER BY level, employee_name;
-- Note: SQL Server / Oracle: drop the RECURSIVE keyword (just WITH employee_hierarchy AS (...))
SELECT
o.order_id,
c.customer_name,
o.order_date,
p.product_name,
oi.quantity
FROM orders o
INNER JOIN customers c
ON o.customer_id = c.customer_id
LEFT JOIN order_items oi
ON o.order_id = oi.order_id
LEFT JOIN products p
ON oi.product_id = p.product_id
WHERE o.order_date >= '2026-01-01'
ORDER BY o.order_date DESC;
SELECT
DATE_TRUNC('month', order_date) AS order_month, -- PostgreSQL
-- FORMAT(order_date, 'yyyy-MM') AS order_month, -- SQL Server
-- DATE_FORMAT(order_date, '%Y-%m') AS order_month, -- MySQL
COUNT(*) AS order_count,
SUM(total_amount) AS revenue
FROM orders
GROUP BY DATE_TRUNC('month', order_date)
ORDER BY order_month;
SELECT
customer_id,
order_id,
order_date,
total_amount,
ROW_NUMBER() OVER (
PARTITION BY customer_id
ORDER BY order_date DESC
) AS order_rank,
SUM(total_amount) OVER (
PARTITION BY customer_id
ORDER BY order_date
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
) AS running_total
FROM orders;
CREATE PROCEDURE GetCustomerOrders
@CustomerId INT,
@StartDate DATE = NULL,
@EndDate DATE = NULL
AS
BEGIN
SET NOCOUNT ON;
SELECT
order_id,
order_date,
total_amount
FROM orders
WHERE customer_id = @CustomerId
AND (@StartDate IS NULL OR order_date >= @StartDate)
AND (@EndDate IS NULL OR order_date <= @EndDate)
ORDER BY order_date DESC;
END;
-- Call it: EXEC GetCustomerOrders @CustomerId = 101, @StartDate = '2026-01-01';
MERGE INTO customers AS target
USING staging_customers AS source
ON target.customer_id = source.customer_id
WHEN MATCHED THEN
UPDATE SET
target.customer_name = source.customer_name,
target.email = source.email,
target.updated_at = GETDATE()
WHEN NOT MATCHED THEN
INSERT (customer_id, customer_name, email, created_at)
VALUES (source.customer_id, source.customer_name, source.email, GETDATE());
#FACC15
rgb(250, 204, 21)
rgb(98%, 80%, 8%)
hsl(46, 96%, 53%)
hsv(46, 92%, 98%)
cmyk(0%, 18%, 92%, 2%)
Time Till — Countdown Timer for Deadlines & Events
Time Till tracks how many days are left until any number of dates — deadlines, launches, or events — with an option to count business days only. It's built for anyone who needs a countdown to a deadline tracker that handles multiple dates at once, rather than a single-event countdown app. Add as many timers as you need, each with its own start date, target date, and weekday-only option.
⚡ Key Takeaways
- Track multiple independent countdowns at once, each with its own name and dates.
- Optional business-days-only counting skips Saturdays and Sundays automatically.
- Business-day counting doesn't account for public holidays — factor those in manually.
- Timers persist automatically in your browser between visits.
What, Who, When & Why
| What it's for | Tracks the days remaining until any number of dates, with an option to count business days only. |
|---|---|
| Who it's for | Anyone tracking project deadlines, launch dates, or personal events that need a visible countdown. |
| When to use it | Whenever you need to track time remaining until one or more specific dates. |
| Why it's needed | Manually calculating days between two dates — especially business days — is error-prone, particularly across month boundaries. |
| Best way to use it | Name each timer clearly once you're tracking several, and use business-days-only counting specifically for work-schedule deadlines. |
How to Use Time Till
- Click + Add Timer to create a new countdown.
- Name it so you can tell your timers apart.
- Set a start date (defaults to today) and a target date.
- Check "Business days only" if you want the count to skip weekends.
- The days remaining (or days since, if the date has passed) update automatically.
How the Calculation Works
By default, Time Till counts the total number of calendar days between your start and target date. With "Business days only" enabled, it counts only weekdays (Monday through Friday), skipping Saturdays and Sundays — useful for deadlines measured in working days rather than calendar days, like a project timeline or SLA commitment.
Example
Setting a target date 30 days from today shows "30 days left." If that same 30-day span happens to include 8 weekend days, enabling "Business days only" would instead show around 22 business days left — a more accurate figure if your deadline is measured in working time. Naming this timer "Project Delivery" alongside a second timer named "Conference Registration" lets you track both countdowns side by side without confusing which date belongs to which commitment.
Key Features
- Track multiple countdowns at once, each independently named and configured.
- Customizable start date for each timer, not just "today."
- Optional business-days-only counting that skips weekends.
- Automatically shows "days ago" for dates that have already passed.
- Timers persist automatically in your browser between visits.
Practical Use Cases
- Project deadlines: track days remaining until a delivery date, counted in business days to match your team's working schedule.
- Product launches: count down to a release date alongside other key milestones.
- SLA tracking: monitor how many business days remain before a service commitment is due.
- Personal planning: track countdowns to multiple personal events or appointments at once.
- Contract or renewal dates: track how many days remain before a subscription, lease, or contract needs renewal.
Tips for Best Results
- Give each timer a clear, specific name — especially once you're tracking several at once — so you can scan them at a glance.
- Use "Business days only" for anything tied to a work schedule, like a project deadline or SLA, and leave it off for personal events tied to actual calendar dates.
- Set a custom start date (rather than today) if you want to track total elapsed time from a specific reference point, like a project's kickoff date.
Related Terminology
Business days (or working days) typically refer to Monday through Friday, excluding weekends — and sometimes public holidays, though this tool's business-day count is based on weekdays only, not a specific holiday calendar.
Important Considerations
The business-days calculation excludes Saturdays and Sundays but does not account for public holidays, since holiday calendars vary significantly by country and organization — factor in known holidays manually if your deadline needs that level of precision.
Related Tools
Need to generate a full list of dates instead of a countdown? Try the Date Range Generator. For time-boxed focus sessions rather than long-term countdowns, use the Pomodoro Timer.
Frequently Asked Questions
How do I count down to a deadline in business days only?
Add a timer, set your target date, and check "Business days only" — the count will exclude Saturdays and Sundays automatically.
Can I track multiple deadlines at once?
Yes, click "+ Add Timer" for each deadline you want to track — every timer is independent with its own name, dates, and settings.
Does the business-day count account for public holidays?
No, it only excludes weekends (Saturday and Sunday) — public holidays aren't factored in automatically since holiday calendars vary widely.
What happens if the target date has already passed?
The timer switches to showing how many days have passed since that date instead of days remaining.
Will my timers still be there if I close the browser?
Yes, timers are saved automatically to your browser's local storage and will still be there the next time you visit on the same device.
Tools for analysts, developers & QA engineers
33 free, browser-based utilities — text and list tools, SQL helpers, converters, and small productivity apps. Everything runs locally; nothing you type or paste is ever uploaded.
For Analysts
Clean lists, build SQL fragments, and reshape data without opening a spreadsheet.
For Developers
Format SQL, convert data formats, and handle everyday text and encoding tasks.
For QA Engineers
Generate test data, compare text output, and sanitize queries before sharing them.