External Article

Unlocking the Power of FULL OUTER JOIN in SQL: Performance, Use Cases & Examples

The JOIN statement is one of the most common operations SQL developers perform. Yet in a world ruled by Inner and Left Joins, the poor Full Outer Join is like Cinderella before the ball – allowed out on only the rarest of occasions. In an (unscientific) survey I once performed of SQL developers at one Fortune 100 firm, half of the developers had never used a Full Outer Join in production code, and the rest had used it in a tiny handful of occasions.

External Article

Building a Dynamic Countdown Timer in Power BI

A countdown timer can be a powerful visual tool in many Business Intelligence reporting scenarios. This could be for marketing campaigns, contract expiries, and business deals with clients. Real-time countdown visuals are not natively supported in Power BI. Although, there is the Count Down Timer custom visual, which is not dynamic in its configuration.

Blogs

T-SQL Tuesday #203: Risk and Reward

By

This is timely, as I’m currently on a boat in the Adriatic taking a...

dataMinds Connect 2026 – Slides & Scripts

By

You can find the slides and SQL scripts for my session “Spice up your...

How to Clear the SSMS Cache (SSMS 21 and Later)

By

How to Clear the SSMS Cache (SSMS 21 and Later) Updated...

Read the latest Blogs

Forums

Using CHOOSE()

By Steve Jones - SSC Editor

Comments posted to this topic are about the item Using CHOOSE()

Re-Seeding a Broken Log Shipping Secondary (Without Touching the Primary)

By LukaMK

Comments posted to this topic are about the item Re-Seeding a Broken Log Shipping...

The DBA is Dead! Long Live the !

By Grant Fritchey

Comments posted to this topic are about the item The DBA is Dead! Long...

Visit the forum

Question of the Day

Using CHOOSE()

We have this code that sets some status values and then queries them using the CHOOSE() function in SQL Server 2025.

CREATE TABLE Status
(
    StatusID INT,
    StatusDescription VARCHAR(20)
);
GO
INSERT dbo.Status
(
    StatusID,
    StatusDescription
)
VALUES
(0, 'Uncategorized'),
(1, 'Active'),
(2, 'Inactive'),
(3, 'Temp');

GO
SELECT CHOOSE(StatusID, 'Unknown', 'Active', 'Inactive', 'Temporary')
FROM Status;
When the SELECT runs, what is returned?

See possible answers